├── .cz.toml ├── .github ├── actions │ ├── docker-build │ │ └── action.yml │ └── python-package-build │ │ └── action.yml ├── dependabot.yml ├── release.yml └── workflows │ ├── auto-merge.yml │ ├── build-test-docker.yml │ ├── build-test-python.yml │ ├── bump-version.yml │ ├── conventional-label.yaml │ ├── lgtm.yml │ ├── lint.yml │ ├── preview-bump-version.yml │ ├── publish.yml │ ├── security.yml │ ├── test.yml │ └── weekly_download.yml ├── .gitignore ├── .osv-scanner.toml ├── CHANGELOG.md ├── CODEOWNERS ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── README.md ├── VERSION ├── assets └── twyn.gif ├── dependencies ├── npm.json ├── pypi.json ├── scripts │ ├── __init__.py │ └── download_packages.py └── tests │ ├── __init__.py │ └── test_download_packages.py ├── justfile ├── lgtm.toml ├── pyproject.toml ├── src └── twyn │ ├── __init__.py │ ├── __version__.py │ ├── base │ ├── __init__.py │ ├── constants.py │ └── exceptions.py │ ├── cli.py │ ├── config │ ├── __init__.py │ ├── config_handler.py │ └── exceptions.py │ ├── dependency_managers │ ├── __init__.py │ ├── exceptions.py │ └── managers.py │ ├── dependency_parser │ ├── __init__.py │ ├── dependency_selector.py │ ├── exceptions.py │ └── parsers │ │ ├── __init__.py │ │ ├── abstract_parser.py │ │ ├── constants.py │ │ ├── exceptions.py │ │ ├── lock_parser.py │ │ ├── package_lock_json.py │ │ ├── pnpm_lock_parser.py │ │ ├── requirements_txt_parser.py │ │ └── yarn_lock_parser.py │ ├── file_handler │ ├── exceptions.py │ └── file_handler.py │ ├── main.py │ ├── similarity │ ├── __init__.py │ ├── algorithm.py │ └── exceptions.py │ └── trusted_packages │ ├── __init__.py │ ├── cache_handler.py │ ├── constants.py │ ├── exceptions.py │ ├── managers │ ├── __init__.py │ ├── base.py │ ├── trusted_npm_packages_manager.py │ └── trusted_pypi_packages_manager.py │ ├── models.py │ ├── references │ ├── __init__.py │ ├── base.py │ ├── top_npm_reference.py │ └── top_pypi_reference.py │ └── selectors.py ├── tests ├── __init__.py ├── config │ ├── __init__.py │ └── test_config_handler.py ├── conftest.py ├── dependency_managers │ ├── __init__.py │ └── test_dependency_managers.py ├── dependency_parser │ ├── __init__.py │ ├── test_dependency_parser.py │ └── test_dependency_selector.py ├── file_handler │ └── test_file_handler.py ├── main │ ├── __init__.py │ ├── conftest.py │ ├── test_cli.py │ └── test_main.py ├── similarity │ ├── __init__.py │ └── test_algorithm.py └── trusted_packages │ ├── __init__.py │ ├── test_cache_handler.py │ ├── test_models.py │ ├── test_references.py │ ├── test_selectors.py │ └── test_trusted_packages.py └── uv.lock /.cz.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.cz.toml -------------------------------------------------------------------------------- /.github/actions/docker-build/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.github/actions/docker-build/action.yml -------------------------------------------------------------------------------- /.github/actions/python-package-build/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.github/actions/python-package-build/action.yml -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.github/release.yml -------------------------------------------------------------------------------- /.github/workflows/auto-merge.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.github/workflows/auto-merge.yml -------------------------------------------------------------------------------- /.github/workflows/build-test-docker.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.github/workflows/build-test-docker.yml -------------------------------------------------------------------------------- /.github/workflows/build-test-python.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.github/workflows/build-test-python.yml -------------------------------------------------------------------------------- /.github/workflows/bump-version.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.github/workflows/bump-version.yml -------------------------------------------------------------------------------- /.github/workflows/conventional-label.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.github/workflows/conventional-label.yaml -------------------------------------------------------------------------------- /.github/workflows/lgtm.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.github/workflows/lgtm.yml -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.github/workflows/lint.yml -------------------------------------------------------------------------------- /.github/workflows/preview-bump-version.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.github/workflows/preview-bump-version.yml -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.github/workflows/publish.yml -------------------------------------------------------------------------------- /.github/workflows/security.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.github/workflows/security.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.github/workflows/weekly_download.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.github/workflows/weekly_download.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/.gitignore -------------------------------------------------------------------------------- /.osv-scanner.toml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @sdn4z @scastlara -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/README.md -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | v6.0.0 -------------------------------------------------------------------------------- /assets/twyn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/assets/twyn.gif -------------------------------------------------------------------------------- /dependencies/npm.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/dependencies/npm.json -------------------------------------------------------------------------------- /dependencies/pypi.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/dependencies/pypi.json -------------------------------------------------------------------------------- /dependencies/scripts/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dependencies/scripts/download_packages.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/dependencies/scripts/download_packages.py -------------------------------------------------------------------------------- /dependencies/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dependencies/tests/test_download_packages.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/dependencies/tests/test_download_packages.py -------------------------------------------------------------------------------- /justfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/justfile -------------------------------------------------------------------------------- /lgtm.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/lgtm.toml -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/pyproject.toml -------------------------------------------------------------------------------- /src/twyn/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/__init__.py -------------------------------------------------------------------------------- /src/twyn/__version__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/__version__.py -------------------------------------------------------------------------------- /src/twyn/base/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/twyn/base/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/base/constants.py -------------------------------------------------------------------------------- /src/twyn/base/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/base/exceptions.py -------------------------------------------------------------------------------- /src/twyn/cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/cli.py -------------------------------------------------------------------------------- /src/twyn/config/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/twyn/config/config_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/config/config_handler.py -------------------------------------------------------------------------------- /src/twyn/config/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/config/exceptions.py -------------------------------------------------------------------------------- /src/twyn/dependency_managers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/twyn/dependency_managers/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/dependency_managers/exceptions.py -------------------------------------------------------------------------------- /src/twyn/dependency_managers/managers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/dependency_managers/managers.py -------------------------------------------------------------------------------- /src/twyn/dependency_parser/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/dependency_parser/__init__.py -------------------------------------------------------------------------------- /src/twyn/dependency_parser/dependency_selector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/dependency_parser/dependency_selector.py -------------------------------------------------------------------------------- /src/twyn/dependency_parser/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/dependency_parser/exceptions.py -------------------------------------------------------------------------------- /src/twyn/dependency_parser/parsers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/twyn/dependency_parser/parsers/abstract_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/dependency_parser/parsers/abstract_parser.py -------------------------------------------------------------------------------- /src/twyn/dependency_parser/parsers/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/dependency_parser/parsers/constants.py -------------------------------------------------------------------------------- /src/twyn/dependency_parser/parsers/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/dependency_parser/parsers/exceptions.py -------------------------------------------------------------------------------- /src/twyn/dependency_parser/parsers/lock_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/dependency_parser/parsers/lock_parser.py -------------------------------------------------------------------------------- /src/twyn/dependency_parser/parsers/package_lock_json.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/dependency_parser/parsers/package_lock_json.py -------------------------------------------------------------------------------- /src/twyn/dependency_parser/parsers/pnpm_lock_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/dependency_parser/parsers/pnpm_lock_parser.py -------------------------------------------------------------------------------- /src/twyn/dependency_parser/parsers/requirements_txt_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/dependency_parser/parsers/requirements_txt_parser.py -------------------------------------------------------------------------------- /src/twyn/dependency_parser/parsers/yarn_lock_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/dependency_parser/parsers/yarn_lock_parser.py -------------------------------------------------------------------------------- /src/twyn/file_handler/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/file_handler/exceptions.py -------------------------------------------------------------------------------- /src/twyn/file_handler/file_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/file_handler/file_handler.py -------------------------------------------------------------------------------- /src/twyn/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/main.py -------------------------------------------------------------------------------- /src/twyn/similarity/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/twyn/similarity/algorithm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/similarity/algorithm.py -------------------------------------------------------------------------------- /src/twyn/similarity/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/similarity/exceptions.py -------------------------------------------------------------------------------- /src/twyn/trusted_packages/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/trusted_packages/__init__.py -------------------------------------------------------------------------------- /src/twyn/trusted_packages/cache_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/trusted_packages/cache_handler.py -------------------------------------------------------------------------------- /src/twyn/trusted_packages/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/trusted_packages/constants.py -------------------------------------------------------------------------------- /src/twyn/trusted_packages/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/trusted_packages/exceptions.py -------------------------------------------------------------------------------- /src/twyn/trusted_packages/managers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/twyn/trusted_packages/managers/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/trusted_packages/managers/base.py -------------------------------------------------------------------------------- /src/twyn/trusted_packages/managers/trusted_npm_packages_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/trusted_packages/managers/trusted_npm_packages_manager.py -------------------------------------------------------------------------------- /src/twyn/trusted_packages/managers/trusted_pypi_packages_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/trusted_packages/managers/trusted_pypi_packages_manager.py -------------------------------------------------------------------------------- /src/twyn/trusted_packages/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/trusted_packages/models.py -------------------------------------------------------------------------------- /src/twyn/trusted_packages/references/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/twyn/trusted_packages/references/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/trusted_packages/references/base.py -------------------------------------------------------------------------------- /src/twyn/trusted_packages/references/top_npm_reference.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/trusted_packages/references/top_npm_reference.py -------------------------------------------------------------------------------- /src/twyn/trusted_packages/references/top_pypi_reference.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/trusted_packages/references/top_pypi_reference.py -------------------------------------------------------------------------------- /src/twyn/trusted_packages/selectors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/src/twyn/trusted_packages/selectors.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/config/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/config/test_config_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/tests/config/test_config_handler.py -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/dependency_managers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/dependency_managers/test_dependency_managers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/tests/dependency_managers/test_dependency_managers.py -------------------------------------------------------------------------------- /tests/dependency_parser/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/dependency_parser/test_dependency_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/tests/dependency_parser/test_dependency_parser.py -------------------------------------------------------------------------------- /tests/dependency_parser/test_dependency_selector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/tests/dependency_parser/test_dependency_selector.py -------------------------------------------------------------------------------- /tests/file_handler/test_file_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/tests/file_handler/test_file_handler.py -------------------------------------------------------------------------------- /tests/main/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/main/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/tests/main/conftest.py -------------------------------------------------------------------------------- /tests/main/test_cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/tests/main/test_cli.py -------------------------------------------------------------------------------- /tests/main/test_main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/tests/main/test_main.py -------------------------------------------------------------------------------- /tests/similarity/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/similarity/test_algorithm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/tests/similarity/test_algorithm.py -------------------------------------------------------------------------------- /tests/trusted_packages/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/trusted_packages/test_cache_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/tests/trusted_packages/test_cache_handler.py -------------------------------------------------------------------------------- /tests/trusted_packages/test_models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/tests/trusted_packages/test_models.py -------------------------------------------------------------------------------- /tests/trusted_packages/test_references.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/tests/trusted_packages/test_references.py -------------------------------------------------------------------------------- /tests/trusted_packages/test_selectors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/tests/trusted_packages/test_selectors.py -------------------------------------------------------------------------------- /tests/trusted_packages/test_trusted_packages.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/tests/trusted_packages/test_trusted_packages.py -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elementsinteractive/twyn/HEAD/uv.lock --------------------------------------------------------------------------------