diff --git a/.gitattributes b/.gitattributes index fffc3c4a..7c939de1 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1 @@ -src/_version.py export-subst -src/rembg/_version.py export-subst +rembg/_version.py export-subst diff --git a/.github/workflows/lint_python.yml b/.github/workflows/lint_python.yml index a3196f2f..7db300fd 100644 --- a/.github/workflows/lint_python.yml +++ b/.github/workflows/lint_python.yml @@ -10,8 +10,8 @@ jobs: - uses: actions/setup-python@v2 - run: pip install --upgrade pip wheel - run: pip install bandit black flake8 flake8-bugbear flake8-comprehensions isort safety - - run: bandit --recursive --skip B101,B104,B310,B311,B303 --exclude ./src/_version.py ./src - - run: black --force-exclude src/_version.py --check --diff ./src - - run: flake8 ./src --count --ignore=E203,E266,E731,F401,F811,F841,W503 --max-complexity=15 --max-line-length=120 --show-source --statistics --exclude ./src/_version.py - - run: isort --check-only --profile black ./src + - run: bandit --recursive --skip B101,B104,B310,B311,B303 --exclude ./rembg/_version.py ./rembg + - run: black --force-exclude src/_version.py --check --diff ./rembg + - run: flake8 ./rembg --count --ignore=E203,E266,E731,F401,F811,F841,W503 --max-complexity=15 --max-line-length=120 --show-source --statistics --exclude ./rembg/_version.py + - run: isort --check-only --profile black ./rembg - run: safety check diff --git a/MANIFEST.in b/MANIFEST.in index 99fe2d38..9eb6ca7f 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,15 +1,8 @@ -include pyproject.toml - -# Include the README -include *.md - -# Include the license file +include MANIFEST.in include LICENSE.txt +include README.md +include setup.py +include pyproject.toml -# Include the data files -recursive-include data * - -include requirements.txt include versioneer.py -include src/_version.py -include src/rembg/_version.py +include rembg/_version.py diff --git a/pyproject.toml b/pyproject.toml index b90ff7c3..575f59b4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,8 @@ build-backend = "setuptools.build_meta" [versioneer] VCS = "git" -style = "default" -versionfile_source = "src/rembg/_version.py" -versionfile_build = "_version.py" -tag_prefix = "" +style = "pep440" +versionfile_source = "rembg/_version.py" +versionfile_build = "rembg/_version.py" +tag_prefix = "v" +parentdir_prefix = "rembg-" diff --git a/src/rembg/__init__.py b/rembg/__init__.py similarity index 100% rename from src/rembg/__init__.py rename to rembg/__init__.py diff --git a/src/rembg/_version.py b/rembg/_version.py similarity index 99% rename from src/rembg/_version.py rename to rembg/_version.py index e8869486..12443cce 100644 --- a/src/rembg/_version.py +++ b/rembg/_version.py @@ -41,10 +41,10 @@ def get_config(): # _version.py cfg = VersioneerConfig() cfg.VCS = "git" - cfg.style = "default" - cfg.tag_prefix = "" - cfg.parentdir_prefix = "None" - cfg.versionfile_source = "src/rembg/_version.py" + cfg.style = "pep440" + cfg.tag_prefix = "v" + cfg.parentdir_prefix = "rembg-" + cfg.versionfile_source = "rembg/_version.py" cfg.verbose = False return cfg diff --git a/src/rembg/bg.py b/rembg/bg.py similarity index 99% rename from src/rembg/bg.py rename to rembg/bg.py index f2a613d6..6354a03e 100644 --- a/src/rembg/bg.py +++ b/rembg/bg.py @@ -91,19 +91,20 @@ def resize_image(img, width, height): def remove( data, - width, - height, model_name="u2net", alpha_matting=False, alpha_matting_foreground_threshold=240, alpha_matting_background_threshold=10, alpha_matting_erode_structure_size=10, alpha_matting_base_size=1000, + width=None, + height=None, ): - model = get_model(model_name) img = Image.open(io.BytesIO(data)).convert("RGB") if width is not None or height is not None: img = resize_image(img, width, height) + + model = get_model(model_name) mask = detect.predict(model, np.array(img)).convert("L") if alpha_matting: diff --git a/src/rembg/cmd/__init__.py b/rembg/cmd/__init__.py similarity index 100% rename from src/rembg/cmd/__init__.py rename to rembg/cmd/__init__.py diff --git a/src/rembg/cmd/cli.py b/rembg/cmd/cli.py similarity index 100% rename from src/rembg/cmd/cli.py rename to rembg/cmd/cli.py diff --git a/src/rembg/cmd/server.py b/rembg/cmd/server.py similarity index 97% rename from src/rembg/cmd/server.py rename to rembg/cmd/server.py index 6d0e7367..a845cbee 100644 --- a/src/rembg/cmd/server.py +++ b/rembg/cmd/server.py @@ -67,8 +67,8 @@ def index(): BytesIO( remove( file_content, - width, - height, + width=width, + height=height, model_name=model, alpha_matting=alpha_matting, alpha_matting_foreground_threshold=af, diff --git a/src/rembg/u2net/__init__.py b/rembg/u2net/__init__.py similarity index 100% rename from src/rembg/u2net/__init__.py rename to rembg/u2net/__init__.py diff --git a/src/rembg/u2net/data_loader.py b/rembg/u2net/data_loader.py similarity index 100% rename from src/rembg/u2net/data_loader.py rename to rembg/u2net/data_loader.py diff --git a/src/rembg/u2net/detect.py b/rembg/u2net/detect.py similarity index 100% rename from src/rembg/u2net/detect.py rename to rembg/u2net/detect.py diff --git a/src/rembg/u2net/u2net.py b/rembg/u2net/u2net.py similarity index 100% rename from src/rembg/u2net/u2net.py rename to rembg/u2net/u2net.py diff --git a/requirements.txt b/requirements.txt index 2d1ea194..dc63d7fe 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ flask==1.1.2 -numpy==1.19.5 -pillow==8.0.1 -scikit-image==0.17.2 +numpy==1.22.0 +pillow==8.1.2 +scikit-image==0.19.1 torch==1.9.1 torchvision==0.10.1 waitress==1.4.4 diff --git a/setup.cfg b/setup.cfg index 63211d6c..0bf58854 100644 --- a/setup.cfg +++ b/setup.cfg @@ -9,7 +9,8 @@ license_files = LICENSE.txt [versioneer] VCS = git -style = default -versionfile_source = src/rembg/_version.py -versionfile_build = _version.py -tag_prefix = +style = pep440 +versionfile_source = rembg/_version.py +versionfile_build = rembg/_version.py +tag_prefix = v +parentdir_prefix = rembg- diff --git a/setup.py b/setup.py index a7282315..8020e06a 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,8 @@ import pathlib +import sys +import os + +sys.path.append(os.path.dirname(__file__)) import versioneer from setuptools import find_packages, setup @@ -23,8 +27,7 @@ "Programming Language :: Python :: 3 :: Only", ], keywords="remove, background, u2net", - package_dir={"": "src"}, - packages=find_packages(where="src"), + packages=find_packages(include=["rembg"]), python_requires=">=3.8, <4", install_requires=requireds, entry_points={