├── .cirrus.yml ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── ---bug-report.yml │ ├── ---documentation.yml │ ├── ---feature-request.yml │ └── config.yml ├── PULL_REQUEST_TEMPLATE.md ├── actions │ ├── bootstrap-poetry │ │ └── action.yaml │ └── poetry-install │ │ └── action.yaml ├── dependabot.yml ├── scripts │ └── backport.sh └── workflows │ ├── .tests-matrix.yaml │ ├── backport.yaml │ ├── docs.yaml │ ├── lock-threads.yaml │ ├── release.yaml │ └── tests.yaml ├── .gitignore ├── .pre-commit-config.yaml ├── .pre-commit-hooks.yaml ├── CHANGELOG.md ├── CITATION.cff ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── assets └── install.gif ├── docs ├── _index.md ├── basic-usage.md ├── building-extension-modules.md ├── cli.md ├── community.md ├── configuration.md ├── contributing.md ├── dependency-specification.md ├── faq.md ├── libraries.md ├── managing-dependencies.md ├── managing-environments.md ├── plugins.md ├── pre-commit-hooks.md ├── pyproject.md └── repositories.md ├── poetry.lock ├── pyproject.toml ├── src └── poetry │ ├── __main__.py │ ├── __version__.py │ ├── config │ ├── __init__.py │ ├── config.py │ ├── config_source.py │ ├── dict_config_source.py │ ├── file_config_source.py │ └── source.py │ ├── console │ ├── __init__.py │ ├── application.py │ ├── command_loader.py │ ├── commands │ │ ├── __init__.py │ │ ├── about.py │ │ ├── add.py │ │ ├── build.py │ │ ├── cache │ │ │ ├── __init__.py │ │ │ ├── clear.py │ │ │ └── list.py │ │ ├── check.py │ │ ├── command.py │ │ ├── config.py │ │ ├── debug │ │ │ ├── __init__.py │ │ │ ├── info.py │ │ │ ├── resolve.py │ │ │ └── tags.py │ │ ├── env │ │ │ ├── __init__.py │ │ │ ├── activate.py │ │ │ ├── info.py │ │ │ ├── list.py │ │ │ ├── remove.py │ │ │ └── use.py │ │ ├── env_command.py │ │ ├── group_command.py │ │ ├── init.py │ │ ├── install.py │ │ ├── installer_command.py │ │ ├── lock.py │ │ ├── new.py │ │ ├── publish.py │ │ ├── python │ │ │ ├── __init__.py │ │ │ ├── install.py │ │ │ ├── list.py │ │ │ └── remove.py │ │ ├── remove.py │ │ ├── run.py │ │ ├── search.py │ │ ├── self │ │ │ ├── __init__.py │ │ │ ├── add.py │ │ │ ├── install.py │ │ │ ├── lock.py │ │ │ ├── remove.py │ │ │ ├── self_command.py │ │ │ ├── show │ │ │ │ ├── __init__.py │ │ │ │ └── plugins.py │ │ │ ├── sync.py │ │ │ └── update.py │ │ ├── show.py │ │ ├── source │ │ │ ├── __init__.py │ │ │ ├── add.py │ │ │ ├── remove.py │ │ │ └── show.py │ │ ├── sync.py │ │ ├── update.py │ │ └── version.py │ ├── events │ │ ├── __init__.py │ │ └── console_events.py │ ├── exceptions.py │ └── logging │ │ ├── __init__.py │ │ ├── filters.py │ │ ├── formatters │ │ ├── __init__.py │ │ ├── builder_formatter.py │ │ └── formatter.py │ │ ├── io_formatter.py │ │ └── io_handler.py │ ├── exceptions.py │ ├── factory.py │ ├── inspection │ ├── __init__.py │ ├── info.py │ └── lazy_wheel.py │ ├── installation │ ├── __init__.py │ ├── chef.py │ ├── chooser.py │ ├── executor.py │ ├── installer.py │ ├── operations │ │ ├── __init__.py │ │ ├── install.py │ │ ├── operation.py │ │ ├── uninstall.py │ │ └── update.py │ └── wheel_installer.py │ ├── json │ ├── __init__.py │ └── schemas │ │ └── poetry.json │ ├── layouts │ ├── __init__.py │ ├── layout.py │ └── src.py │ ├── locations.py │ ├── masonry │ ├── __init__.py │ ├── api.py │ └── builders │ │ ├── __init__.py │ │ └── editable.py │ ├── mixology │ ├── __init__.py │ ├── assignment.py │ ├── failure.py │ ├── incompatibility.py │ ├── incompatibility_cause.py │ ├── partial_solution.py │ ├── result.py │ ├── set_relation.py │ ├── term.py │ └── version_solver.py │ ├── packages │ ├── __init__.py │ ├── dependency_package.py │ ├── direct_origin.py │ ├── locker.py │ ├── package_collection.py │ └── transitive_package_info.py │ ├── plugins │ ├── __init__.py │ ├── application_plugin.py │ ├── base_plugin.py │ ├── plugin.py │ └── plugin_manager.py │ ├── poetry.py │ ├── publishing │ ├── __init__.py │ ├── hash_manager.py │ ├── publisher.py │ └── uploader.py │ ├── puzzle │ ├── __init__.py │ ├── exceptions.py │ ├── provider.py │ ├── solver.py │ └── transaction.py │ ├── py.typed │ ├── pyproject │ ├── __init__.py │ └── toml.py │ ├── repositories │ ├── __init__.py │ ├── abstract_repository.py │ ├── cached_repository.py │ ├── exceptions.py │ ├── http_repository.py │ ├── installed_repository.py │ ├── legacy_repository.py │ ├── link_sources │ │ ├── __init__.py │ │ ├── base.py │ │ ├── html.py │ │ └── json.py │ ├── lockfile_repository.py │ ├── parsers │ │ ├── __init__.py │ │ ├── html_page_parser.py │ │ └── pypi_search_parser.py │ ├── pypi_repository.py │ ├── repository.py │ ├── repository_pool.py │ └── single_page_repository.py │ ├── toml │ ├── __init__.py │ ├── exceptions.py │ └── file.py │ ├── utils │ ├── __init__.py │ ├── _compat.py │ ├── authenticator.py │ ├── cache.py │ ├── constants.py │ ├── dependency_specification.py │ ├── env │ │ ├── __init__.py │ │ ├── base_env.py │ │ ├── env_manager.py │ │ ├── exceptions.py │ │ ├── generic_env.py │ │ ├── mock_env.py │ │ ├── null_env.py │ │ ├── python │ │ │ ├── __init__.py │ │ │ ├── exceptions.py │ │ │ ├── installer.py │ │ │ ├── manager.py │ │ │ └── providers.py │ │ ├── script_strings.py │ │ ├── site_packages.py │ │ ├── system_env.py │ │ └── virtual_env.py │ ├── extras.py │ ├── helpers.py │ ├── isolated_build.py │ ├── password_manager.py │ ├── patterns.py │ ├── pip.py │ ├── threading.py │ └── wheel.py │ ├── vcs │ ├── __init__.py │ └── git │ │ ├── __init__.py │ │ ├── backend.py │ │ └── system.py │ └── version │ ├── __init__.py │ └── version_selector.py └── tests ├── __init__.py ├── config ├── __init__.py ├── test_config.py ├── test_config_source.py ├── test_dict_config_source.py ├── test_file_config_source.py └── test_source.py ├── conftest.py ├── console ├── __init__.py ├── commands │ ├── __init__.py │ ├── cache │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_clear.py │ │ └── test_list.py │ ├── conftest.py │ ├── debug │ │ ├── __init__.py │ │ └── test_resolve.py │ ├── env │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── helpers.py │ │ ├── test_activate.py │ │ ├── test_info.py │ │ ├── test_list.py │ │ ├── test_remove.py │ │ └── test_use.py │ ├── python │ │ ├── __init__.py │ │ ├── test_python_install.py │ │ ├── test_python_list.py │ │ └── test_python_remove.py │ ├── self │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── fixtures │ │ │ ├── poetry-1.0.5-darwin.sha256sum │ │ │ └── poetry-1.0.5-darwin.tar.gz │ │ ├── test_add_plugins.py │ │ ├── test_install.py │ │ ├── test_remove_plugins.py │ │ ├── test_self_command.py │ │ ├── test_show_plugins.py │ │ ├── test_sync.py │ │ ├── test_update.py │ │ └── utils.py │ ├── source │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_add.py │ │ ├── test_remove.py │ │ └── test_show.py │ ├── test_about.py │ ├── test_add.py │ ├── test_build.py │ ├── test_check.py │ ├── test_config.py │ ├── test_init.py │ ├── test_install.py │ ├── test_lock.py │ ├── test_new.py │ ├── test_publish.py │ ├── test_remove.py │ ├── test_run.py │ ├── test_search.py │ ├── test_show.py │ ├── test_sync.py │ ├── test_update.py │ └── test_version.py ├── conftest.py ├── logging │ ├── __init__.py │ ├── formatters │ │ ├── __init__.py │ │ └── test_builder_formatter.py │ └── test_io_formatter.py ├── test_application.py ├── test_application_command_not_found.py ├── test_application_global_options.py ├── test_application_removed_commands.py ├── test_exceptions_console_message.py └── test_exections_poetry_runtime_error.py ├── fixtures ├── bad_scripts_project │ ├── no_colon │ │ ├── README.rst │ │ ├── pyproject.toml │ │ └── simple_project │ │ │ └── __init__.py │ └── too_many_colon │ │ ├── README.rst │ │ ├── pyproject.toml │ │ └── simple_project │ │ └── __init__.py ├── build_system_requires_not_available │ ├── README.rst │ ├── pyproject.toml │ └── simple_project │ │ └── __init__.py ├── build_systems │ ├── core_from_git │ │ ├── README.md │ │ ├── pyproject.toml │ │ └── simple_project │ │ │ └── __init__.py │ ├── core_in_range │ │ ├── README.md │ │ ├── pyproject.toml │ │ └── simple_project │ │ │ └── __init__.py │ ├── core_not_in_range │ │ ├── README.md │ │ ├── pyproject.toml │ │ └── simple_project │ │ │ └── __init__.py │ ├── has_build_script │ │ ├── README.md │ │ ├── pyproject.toml │ │ └── simple_project │ │ │ └── __init__.py │ ├── multiple_build_deps │ │ ├── README.md │ │ ├── pyproject.toml │ │ └── simple_project │ │ │ └── __init__.py │ ├── no_build_backend │ │ ├── README.md │ │ ├── pyproject.toml │ │ └── simple_project │ │ │ └── __init__.py │ ├── no_build_system │ │ ├── README.md │ │ ├── pyproject.toml │ │ └── simple_project │ │ │ └── __init__.py │ └── no_core │ │ ├── README.md │ │ ├── pyproject.toml │ │ └── simple_project │ │ └── __init__.py ├── complete.toml ├── deleted_directory_dependency │ ├── poetry.lock │ └── pyproject.toml ├── deleted_file_dependency │ ├── poetry.lock │ └── pyproject.toml ├── directory │ ├── project_with_transitive_directory_dependencies │ │ ├── project_with_transitive_directory_dependencies │ │ │ └── __init__.py │ │ ├── pyproject.toml │ │ └── setup.py │ └── project_with_transitive_file_dependencies │ │ ├── inner-directory-project │ │ └── pyproject.toml │ │ ├── project_with_transitive_file_dependencies │ │ └── __init__.py │ │ └── pyproject.toml ├── distributions │ ├── demo-0.1.0-py2.py3-none-any.whl │ ├── demo-0.1.0.tar.gz │ ├── demo-0.1.2-py2.py3-none-any.whl │ ├── demo_invalid_record-0.1.0-py2.py3-none-any.whl │ ├── demo_invalid_record2-0.1.0-py2.py3-none-any.whl │ ├── demo_metadata_version_23-0.1.0-py2.py3-none-any.whl │ ├── demo_metadata_version_24-0.1.0-py2.py3-none-any.whl │ ├── demo_metadata_version_299-0.1.0-py2.py3-none-any.whl │ ├── demo_metadata_version_unknown-0.1.0-py2.py3-none-any.whl │ ├── demo_missing_dist_info-0.1.0-py2.py3-none-any.whl │ └── demo_no_pkg_info-0.1.0.tar.gz ├── excluded_subpackage │ ├── README.rst │ ├── example │ │ ├── __init__.py │ │ └── test │ │ │ ├── __init__.py │ │ │ └── excluded.py │ └── pyproject.toml ├── extended_project │ ├── README.rst │ ├── build.py │ ├── extended_project │ │ └── __init__.py │ └── pyproject.toml ├── extended_project_without_setup │ ├── README.rst │ ├── build.py │ ├── extended_project │ │ └── __init__.py │ └── pyproject.toml ├── extended_with_no_setup │ ├── README.md │ ├── build.py │ ├── extended │ │ ├── __init__.py │ │ └── extended.c │ └── pyproject.toml ├── git │ └── github.com │ │ ├── demo │ │ ├── demo │ │ │ ├── demo │ │ │ │ └── __init__.py │ │ │ └── pyproject.toml │ │ ├── namespace-package-one │ │ │ ├── namespace_package │ │ │ │ ├── __init__.py │ │ │ │ └── one │ │ │ │ │ └── __init__.py │ │ │ └── setup.py │ │ ├── no-dependencies │ │ │ ├── demo │ │ │ │ └── __init__.py │ │ │ └── setup.py │ │ ├── no-version │ │ │ ├── demo │ │ │ │ └── __init__.py │ │ │ └── setup.py │ │ ├── non-canonical-name │ │ │ ├── demo │ │ │ │ └── __init__.py │ │ │ └── setup.py │ │ ├── poetry-plugin │ │ │ ├── poetry_plugin │ │ │ │ └── __init__.py │ │ │ └── pyproject.toml │ │ ├── poetry-plugin2 │ │ │ └── subdir │ │ │ │ ├── poetry_plugin │ │ │ │ └── __init__.py │ │ │ │ └── pyproject.toml │ │ ├── prerelease │ │ │ ├── prerelease │ │ │ │ └── __init__.py │ │ │ └── pyproject.toml │ │ ├── pyproject-demo │ │ │ ├── demo │ │ │ │ └── __init__.py │ │ │ └── pyproject.toml │ │ └── subdirectories │ │ │ ├── one-copy │ │ │ ├── one │ │ │ │ └── __init__.py │ │ │ └── pyproject.toml │ │ │ ├── one │ │ │ ├── one │ │ │ │ └── __init__.py │ │ │ └── pyproject.toml │ │ │ └── two │ │ │ ├── pyproject.toml │ │ │ └── two │ │ │ └── __init__.py │ │ └── forked_demo │ │ └── subdirectories │ │ ├── one-copy │ │ ├── one │ │ │ └── __init__.py │ │ └── pyproject.toml │ │ ├── one │ │ ├── one │ │ │ └── __init__.py │ │ └── pyproject.toml │ │ └── two │ │ ├── pyproject.toml │ │ └── two │ │ └── __init__.py ├── incompatible_lock │ ├── poetry.lock │ └── pyproject.toml ├── inspection │ ├── demo │ │ └── pyproject.toml │ ├── demo_no_setup_pkg_info_no_deps │ │ ├── PKG-INFO │ │ └── pyproject.toml │ ├── demo_no_setup_pkg_info_no_deps_dynamic │ │ ├── PKG-INFO │ │ └── pyproject.toml │ ├── demo_no_setup_pkg_info_no_deps_for_sure │ │ ├── PKG-INFO │ │ └── pyproject.toml │ ├── demo_only_requires_txt.egg-info │ │ ├── PKG-INFO │ │ └── requires.txt │ ├── demo_poetry_package │ │ └── pyproject.toml │ └── demo_with_obsolete_egg_info │ │ ├── demo-0.1.0.egg-info │ │ ├── PKG-INFO │ │ └── requires.txt │ │ └── pyproject.toml ├── invalid_lock │ ├── poetry.lock │ └── pyproject.toml ├── invalid_pyproject │ └── pyproject.toml ├── invalid_pyproject_dep_name │ └── pyproject.toml ├── missing_directory_dependency │ ├── poetry.lock │ └── pyproject.toml ├── missing_extra_directory_dependency │ ├── poetry.lock │ └── pyproject.toml ├── missing_file_dependency │ ├── poetry.lock │ └── pyproject.toml ├── nameless_pyproject │ └── pyproject.toml ├── no_name_project │ ├── README.rst │ └── pyproject.toml ├── non_package_mode │ └── pyproject.toml ├── old_lock │ ├── poetry.lock │ └── pyproject.toml ├── old_lock_path_dependency │ ├── poetry.lock │ ├── pyproject.toml │ └── quix │ │ └── pyproject.toml ├── outdated_lock │ ├── poetry.lock │ └── pyproject.toml ├── private_pyproject │ └── pyproject.toml ├── project_plugins │ ├── my_application_plugin-1.0.dist-info │ │ ├── METADATA │ │ └── entry_points.txt │ ├── my_application_plugin-2.0.dist-info │ │ ├── METADATA │ │ └── entry_points.txt │ ├── my_other_plugin-1.0.dist-info │ │ ├── METADATA │ │ └── entry_points.txt │ ├── pyproject.toml │ ├── some_lib-1.0.dist-info │ │ └── METADATA │ └── some_lib-2.0.dist-info │ │ └── METADATA ├── project_with_extras │ ├── project_with_extras │ │ └── __init__.py │ └── pyproject.toml ├── project_with_git_dev_dependency │ └── pyproject.toml ├── project_with_local_dependencies │ └── pyproject.toml ├── project_with_multi_constraints_dependency │ ├── project │ │ └── __init__.py │ └── pyproject.toml ├── project_with_nested_local │ ├── bar │ │ └── pyproject.toml │ ├── foo │ │ └── pyproject.toml │ ├── pyproject.toml │ └── quix │ │ └── pyproject.toml ├── project_with_setup │ ├── my_package │ │ └── __init__.py │ └── setup.py ├── project_with_setup_calls_script │ ├── my_package │ │ └── __init__.py │ ├── pyproject.toml │ └── setup.py ├── pypi_reference │ └── pyproject.toml ├── sample_project │ ├── README.rst │ └── pyproject.toml ├── scripts │ ├── README.md │ ├── pyproject.toml │ └── scripts │ │ ├── __init__.py │ │ ├── check_argv0.py │ │ ├── exit_code.py │ │ └── return_code.py ├── self_version_not_ok │ └── pyproject.toml ├── self_version_ok │ └── pyproject.toml ├── simple_project │ ├── README.rst │ ├── dist │ │ ├── simple_project-1.2.3-py2.py3-none-any.whl │ │ └── simple_project-1.2.3.tar.gz │ ├── pyproject.toml │ └── simple_project │ │ └── __init__.py ├── simple_project_legacy │ ├── README.rst │ ├── pyproject.toml │ └── simple_project │ │ └── __init__.py ├── up_to_date_lock │ ├── poetry.lock │ └── pyproject.toml ├── up_to_date_lock_non_package │ ├── poetry.lock │ └── pyproject.toml ├── wheel_with_no_requires_dist │ └── demo-0.1.0-py2.py3-none-any.whl ├── with-include │ ├── LICENSE │ ├── README.rst │ ├── extra_dir │ │ ├── README.md │ │ ├── __init__.py │ │ ├── sub_pkg │ │ │ ├── __init__.py │ │ │ └── vcs_excluded.txt │ │ └── vcs_excluded.txt │ ├── for_wheel_only │ │ └── __init__.py │ ├── my_module.py │ ├── notes.txt │ ├── package_with_include │ │ └── __init__.py │ ├── pyproject.toml │ ├── src │ │ └── src_package │ │ │ └── __init__.py │ └── tests │ │ └── __init__.py ├── with_conditional_path_deps │ ├── demo_one │ │ └── pyproject.toml │ ├── demo_two │ │ └── pyproject.toml │ └── pyproject.toml ├── with_explicit_pypi_and_other │ └── pyproject.toml ├── with_explicit_pypi_and_other_explicit │ └── pyproject.toml ├── with_explicit_pypi_no_other │ └── pyproject.toml ├── with_explicit_source │ └── pyproject.toml ├── with_local_config │ ├── README.rst │ ├── poetry.toml │ └── pyproject.toml ├── with_multiple_dist_dir │ ├── README.rst │ ├── dist │ │ ├── simple_project-1.2.3-py2.py3-none-any.whl │ │ └── simple_project-1.2.3.tar.gz │ ├── other_dist │ │ └── dist │ │ │ ├── simple_project-1.2.3-py2.py3-none-any.whl │ │ │ └── simple_project-1.2.3.tar.gz │ ├── pyproject.toml │ └── simple_project │ │ └── __init__.py ├── with_multiple_readme_files │ ├── README-1.rst │ ├── README-2.rst │ ├── my_package │ │ └── __init__.py │ └── pyproject.toml ├── with_multiple_sources │ └── pyproject.toml ├── with_multiple_sources_pypi │ └── pyproject.toml ├── with_multiple_supplemental_sources │ └── pyproject.toml ├── with_path_dependency │ ├── bazz │ │ └── pyproject.toml │ ├── poetry.lock │ └── pyproject.toml ├── with_primary_source_explicit │ └── pyproject.toml ├── with_primary_source_implicit │ └── pyproject.toml ├── with_source │ ├── README.rst │ └── pyproject.toml └── with_supplemental_source │ └── pyproject.toml ├── helpers.py ├── inspection ├── __init__.py ├── test_info.py └── test_lazy_wheel.py ├── installation ├── __init__.py ├── conftest.py ├── fixtures │ ├── extras-with-dependencies.test │ ├── extras.test │ ├── install-no-dev.test │ ├── no-dependencies.test │ ├── remove.test │ ├── update-with-lock.test │ ├── update-with-locked-extras.test │ ├── with-conditional-dependency.test │ ├── with-conflicting-dependency-extras-root.test │ ├── with-conflicting-dependency-extras-transitive.test │ ├── with-dependencies-differing-extras.test │ ├── with-dependencies-extras.test │ ├── with-dependencies-nested-extras.test │ ├── with-dependencies.test │ ├── with-directory-dependency-poetry-transitive.test │ ├── with-directory-dependency-poetry.test │ ├── with-directory-dependency-setuptools.test │ ├── with-duplicate-dependencies-update.test │ ├── with-duplicate-dependencies.test │ ├── with-exclusive-extras.test │ ├── with-file-dependency-transitive.test │ ├── with-file-dependency.test │ ├── with-multiple-updates.test │ ├── with-optional-dependencies.test │ ├── with-platform-dependencies.test │ ├── with-prereleases.test │ ├── with-pypi-repository.test │ ├── with-python-versions.test │ ├── with-same-version-url-dependencies.test │ ├── with-self-referencing-extras-all-deep.test │ ├── with-self-referencing-extras-all-top.test │ ├── with-self-referencing-extras-b-markers.test │ ├── with-self-referencing-extras-deep.test │ ├── with-self-referencing-extras-download-deep.test │ ├── with-self-referencing-extras-download-top.test │ ├── with-self-referencing-extras-install-deep.test │ ├── with-self-referencing-extras-install-download-deep.test │ ├── with-self-referencing-extras-install-download-top.test │ ├── with-self-referencing-extras-install-top.test │ ├── with-self-referencing-extras-nested-deep.test │ ├── with-self-referencing-extras-nested-top.test │ ├── with-self-referencing-extras-top.test │ ├── with-sub-dependencies.test │ ├── with-url-dependency.test │ ├── with-vcs-dependency-with-extras.test │ ├── with-vcs-dependency-without-ref.test │ └── with-wheel-dependency-no-requires-dist.test ├── test_chef.py ├── test_chooser.py ├── test_chooser_errors.py ├── test_executor.py ├── test_installer.py └── test_wheel_installer.py ├── integration ├── __init__.py ├── conftest.py └── test_utils_vcs_git.py ├── json ├── __init__.py ├── fixtures │ ├── self_invalid_plugin.toml │ ├── self_invalid_version.toml │ ├── self_valid.toml │ └── source │ │ ├── complete_invalid_priority.toml │ │ ├── complete_invalid_url.toml │ │ └── complete_valid.toml ├── test_schema.py └── test_schema_sources.py ├── masonry └── builders │ ├── __init__.py │ ├── fixtures │ └── excluded_subpackage │ │ ├── README.rst │ │ ├── example │ │ ├── __init__.py │ │ └── test │ │ │ ├── __init__.py │ │ │ └── excluded.py │ │ └── pyproject.toml │ └── test_editable_builder.py ├── mixology ├── __init__.py ├── helpers.py ├── test_incompatibility.py └── version_solver │ ├── __init__.py │ ├── conftest.py │ ├── test_backtracking.py │ ├── test_basic_graph.py │ ├── test_dependency_cache.py │ ├── test_python_constraint.py │ ├── test_unsolvable.py │ └── test_with_lock.py ├── packages ├── __init__.py ├── test_direct_origin.py ├── test_locker.py └── test_transitive_package_info.py ├── plugins ├── __init__.py └── test_plugin_manager.py ├── publishing ├── __init__.py ├── test_hash_manager.py ├── test_publisher.py └── test_uploader.py ├── puzzle ├── __init__.py ├── conftest.py ├── test_provider.py ├── test_solver.py ├── test_solver_internals.py └── test_transaction.py ├── pyproject ├── __init__.py ├── conftest.py ├── test_pyproject_toml.py └── test_pyproject_toml_file.py ├── repositories ├── __init__.py ├── conftest.py ├── fixtures │ ├── __init__.py │ ├── distribution_hashes.py │ ├── installed │ │ ├── lib │ │ │ └── python3.7 │ │ │ │ └── site-packages │ │ │ │ ├── cleo-0.7.6.dist-info │ │ │ │ └── METADATA │ │ │ │ ├── directory_pep_610-1.2.3.dist-info │ │ │ │ ├── METADATA │ │ │ │ └── direct_url.json │ │ │ │ ├── editable-2.3.4.dist-info │ │ │ │ └── METADATA │ │ │ │ ├── editable-src-dir-2.3.4.dist-info │ │ │ │ └── METADATA │ │ │ │ ├── editable-src-dir.pth │ │ │ │ ├── editable-with-import-2.3.4.dist-info │ │ │ │ └── METADATA │ │ │ │ ├── editable-with-import.pth │ │ │ │ ├── editable.pth │ │ │ │ ├── editable_directory_pep_610-1.2.3.dist-info │ │ │ │ ├── METADATA │ │ │ │ └── direct_url.json │ │ │ │ ├── file_pep_610-1.2.3.dist-info │ │ │ │ ├── METADATA │ │ │ │ └── direct_url.json │ │ │ │ ├── foo-0.1.0-py3.8.egg │ │ │ │ ├── git_pep_610-1.2.3.dist-info │ │ │ │ ├── METADATA │ │ │ │ └── direct_url.json │ │ │ │ ├── git_pep_610_no_requested_version-1.2.3.dist-info │ │ │ │ ├── METADATA │ │ │ │ └── direct_url.json │ │ │ │ ├── git_pep_610_subdirectory-1.2.3.dist-info │ │ │ │ ├── METADATA │ │ │ │ └── direct_url.json │ │ │ │ ├── standard-1.2.3.dist-info │ │ │ │ └── METADATA │ │ │ │ ├── standard.pth │ │ │ │ └── url_pep_610-1.2.3.dist-info │ │ │ │ ├── METADATA │ │ │ │ └── direct_url.json │ │ ├── lib64 │ │ │ └── python3.7 │ │ │ │ └── site-packages │ │ │ │ ├── bender-2.0.5.dist-info │ │ │ │ └── METADATA │ │ │ │ ├── bender.pth │ │ │ │ └── lib64-2.3.4.dist-info │ │ │ │ └── METADATA │ │ ├── src │ │ │ ├── bender │ │ │ │ └── bender.egg-info │ │ │ │ │ └── PKG-INFO │ │ │ └── pendulum │ │ │ │ └── pendulum.egg-info │ │ │ │ ├── PKG-INFO │ │ │ │ └── requires.txt │ │ └── vendor │ │ │ └── py3.7 │ │ │ └── attrs-19.3.0.dist-info │ │ │ └── METADATA │ ├── legacy.py │ ├── legacy │ │ ├── absolute.html │ │ ├── black.html │ │ ├── clikit.html │ │ ├── demo.html │ │ ├── discord-py.html │ │ ├── futures-partial-yank.html │ │ ├── futures.html │ │ ├── invalid-version.html │ │ ├── ipython.html │ │ ├── isort-metadata.html │ │ ├── isort.html │ │ ├── jupyter.html │ │ ├── missing-version.html │ │ ├── pastel.html │ │ ├── poetry-test-py2-py3-metadata-merge.html │ │ ├── pytest-with-extra-packages.html │ │ ├── pytest.html │ │ ├── python-language-server.html │ │ ├── pyyaml.html │ │ ├── relative.html │ │ ├── sqlalchemy-legacy.html │ │ └── tomlkit.html │ ├── pypi.org │ │ ├── dists │ │ │ ├── mocked │ │ │ │ ├── poetry_test_py2_py3_metadata_merge-0.1.0-py2-none-any.whl │ │ │ │ ├── poetry_test_py2_py3_metadata_merge-0.1.0-py3-none-any.whl │ │ │ │ └── six_unknown_version-1.11.0.tar.gz │ │ │ ├── poetry_core-1.5.0-py3-none-any.whl │ │ │ ├── poetry_core-2.0.1-py3-none-any.whl │ │ │ ├── setuptools-67.6.1-py3-none-any.whl │ │ │ └── wheel-0.40.0-py3-none-any.whl │ │ ├── generate.py │ │ ├── json │ │ │ ├── attrs.json │ │ │ ├── attrs │ │ │ │ └── 17.4.0.json │ │ │ ├── black.json │ │ │ ├── black │ │ │ │ ├── 19.10b0.json │ │ │ │ └── 21.11b0.json │ │ │ ├── cleo.json │ │ │ ├── cleo │ │ │ │ └── 1.0.0a5.json │ │ │ ├── clikit.json │ │ │ ├── clikit │ │ │ │ └── 0.2.4.json │ │ │ ├── colorama.json │ │ │ ├── colorama │ │ │ │ └── 0.3.9.json │ │ │ ├── discord-py.json │ │ │ ├── discord-py │ │ │ │ └── 2.0.0.json │ │ │ ├── filecache.json │ │ │ ├── filecache │ │ │ │ └── 0.81.json │ │ │ ├── funcsigs.json │ │ │ ├── funcsigs │ │ │ │ └── 1.0.2.json │ │ │ ├── futures.json │ │ │ ├── futures │ │ │ │ └── 3.2.0.json │ │ │ ├── hbmqtt.json │ │ │ ├── hbmqtt │ │ │ │ └── 0.9.6.json │ │ │ ├── importlib-metadata.json │ │ │ ├── importlib-metadata │ │ │ │ └── 1.7.0.json │ │ │ ├── ipython.json │ │ │ ├── ipython │ │ │ │ ├── 4.1.0rc1.json │ │ │ │ ├── 5.7.0.json │ │ │ │ └── 7.5.0.json │ │ │ ├── isodate.json │ │ │ ├── isodate │ │ │ │ └── 0.7.0.json │ │ │ ├── isort-metadata.json │ │ │ ├── isort.json │ │ │ ├── isort │ │ │ │ └── 4.3.4.json │ │ │ ├── jupyter.json │ │ │ ├── jupyter │ │ │ │ └── 1.0.0.json │ │ │ ├── mocked │ │ │ │ ├── invalid-version-package.json │ │ │ │ ├── isort-metadata │ │ │ │ │ └── 4.3.4.json │ │ │ │ ├── six-unknown-version.json │ │ │ │ ├── six-unknown-version │ │ │ │ │ └── 1.11.0.json │ │ │ │ ├── with-extra-dependency.json │ │ │ │ ├── with-extra-dependency │ │ │ │ │ └── 0.12.4.json │ │ │ │ ├── with-transitive-extra-dependency.json │ │ │ │ └── with-transitive-extra-dependency │ │ │ │ │ └── 0.12.4.json │ │ │ ├── more-itertools.json │ │ │ ├── more-itertools │ │ │ │ └── 4.1.0.json │ │ │ ├── pastel.json │ │ │ ├── pastel │ │ │ │ └── 0.1.0.json │ │ │ ├── pluggy.json │ │ │ ├── pluggy │ │ │ │ └── 0.6.0.json │ │ │ ├── poetry-core.json │ │ │ ├── poetry-core │ │ │ │ ├── 1.5.0.json │ │ │ │ └── 2.0.1.json │ │ │ ├── py.json │ │ │ ├── py │ │ │ │ └── 1.5.3.json │ │ │ ├── pylev.json │ │ │ ├── pylev │ │ │ │ └── 1.3.0.json │ │ │ ├── pytest.json │ │ │ ├── pytest │ │ │ │ ├── 3.5.0.json │ │ │ │ └── 3.5.1.json │ │ │ ├── python-language-server.json │ │ │ ├── python-language-server │ │ │ │ └── 0.21.2.json │ │ │ ├── pyyaml.json │ │ │ ├── pyyaml │ │ │ │ └── 3.13.0.json │ │ │ ├── requests.json │ │ │ ├── requests │ │ │ │ ├── 2.18.0.json │ │ │ │ ├── 2.18.1.json │ │ │ │ ├── 2.18.2.json │ │ │ │ ├── 2.18.3.json │ │ │ │ ├── 2.18.4.json │ │ │ │ └── 2.19.0.json │ │ │ ├── setuptools.json │ │ │ ├── setuptools │ │ │ │ ├── 39.2.0.json │ │ │ │ └── 67.6.1.json │ │ │ ├── six.json │ │ │ ├── six │ │ │ │ └── 1.11.0.json │ │ │ ├── sqlalchemy.json │ │ │ ├── sqlalchemy │ │ │ │ └── 1.2.12.json │ │ │ ├── toga.json │ │ │ ├── toga │ │ │ │ ├── 0.3.0.json │ │ │ │ ├── 0.3.0dev1.json │ │ │ │ ├── 0.3.0dev2.json │ │ │ │ └── 0.4.0.json │ │ │ ├── tomlkit.json │ │ │ ├── tomlkit │ │ │ │ ├── 0.5.2.json │ │ │ │ └── 0.5.3.json │ │ │ ├── twisted.json │ │ │ ├── twisted │ │ │ │ └── 18.9.0.json │ │ │ ├── wheel.json │ │ │ ├── wheel │ │ │ │ └── 0.40.0.json │ │ │ ├── zipp.json │ │ │ └── zipp │ │ │ │ └── 3.5.0.json │ │ ├── metadata │ │ │ ├── PyYAML-3.13-cp27-cp27m-win32.whl.metadata │ │ │ ├── PyYAML-3.13-cp27-cp27m-win_amd64.whl.metadata │ │ │ ├── PyYAML-3.13-cp34-cp34m-win32.whl.metadata │ │ │ ├── PyYAML-3.13-cp34-cp34m-win_amd64.whl.metadata │ │ │ ├── PyYAML-3.13-cp35-cp35m-win32.whl.metadata │ │ │ ├── PyYAML-3.13-cp35-cp35m-win_amd64.whl.metadata │ │ │ ├── PyYAML-3.13-cp36-cp36m-win32.whl.metadata │ │ │ ├── PyYAML-3.13-cp36-cp36m-win_amd64.whl.metadata │ │ │ ├── PyYAML-3.13-cp37-cp37m-win32.whl.metadata │ │ │ ├── PyYAML-3.13-cp37-cp37m-win_amd64.whl.metadata │ │ │ ├── attrs-17.4.0-py2.py3-none-any.whl.metadata │ │ │ ├── black-19.10b0-py36-none-any.whl.metadata │ │ │ ├── black-21.11b0-py3-none-any.whl.metadata │ │ │ ├── cleo-1.0.0a5-py3-none-any.whl.metadata │ │ │ ├── clikit-0.2.4-py2.py3-none-any.whl.metadata │ │ │ ├── colorama-0.3.9-py2.py3-none-any.whl.metadata │ │ │ ├── discord.py-2.0.0-py3-none-any.whl.metadata │ │ │ ├── filecache-0.81-py3-none-any.whl.metadata │ │ │ ├── funcsigs-1.0.2-py2.py3-none-any.whl.metadata │ │ │ ├── futures-3.2.0-py2-none-any.whl.metadata │ │ │ ├── importlib_metadata-1.7.0-py2.py3-none-any.whl.metadata │ │ │ ├── ipython-4.1.0rc1-py2.py3-none-any.whl.metadata │ │ │ ├── ipython-5.7.0-py2-none-any.whl.metadata │ │ │ ├── ipython-5.7.0-py3-none-any.whl.metadata │ │ │ ├── ipython-7.5.0-py3-none-any.whl.metadata │ │ │ ├── isodate-0.7.0-py3-none-any.whl.metadata │ │ │ ├── isort-4.3.4-py2-none-any.whl.metadata │ │ │ ├── isort-4.3.4-py3-none-any.whl.metadata │ │ │ ├── isort-metadata-4.3.4-py2-none-any.whl.metadata │ │ │ ├── isort-metadata-4.3.4-py3-none-any.whl.metadata │ │ │ ├── jupyter-1.0.0-py2.py3-none-any.whl.metadata │ │ │ ├── mocked │ │ │ │ ├── with_extra_dependency-0.12.4-py3-none-any.whl.metadata │ │ │ │ └── with_transitive_extra_dependency-0.12.4-py3-none-any.whl.metadata │ │ │ ├── more_itertools-4.1.0-py2-none-any.whl.metadata │ │ │ ├── more_itertools-4.1.0-py3-none-any.whl.metadata │ │ │ ├── pastel-0.1.0-py3-none-any.whl.metadata │ │ │ ├── pluggy-0.6.0-py2-none-any.whl.metadata │ │ │ ├── pluggy-0.6.0-py3-none-any.whl.metadata │ │ │ ├── poetry_core-1.5.0-py3-none-any.whl.metadata │ │ │ ├── poetry_core-2.0.1-py3-none-any.whl.metadata │ │ │ ├── py-1.5.3-py2.py3-none-any.whl.metadata │ │ │ ├── pylev-1.3.0-py2.py3-none-any.whl.metadata │ │ │ ├── pytest-3.5.0-py2.py3-none-any.whl.metadata │ │ │ ├── pytest-3.5.1-py2.py3-none-any.whl.metadata │ │ │ ├── requests-2.18.0-py2.py3-none-any.whl.metadata │ │ │ ├── requests-2.18.1-py2.py3-none-any.whl.metadata │ │ │ ├── requests-2.18.2-py2.py3-none-any.whl.metadata │ │ │ ├── requests-2.18.3-py2.py3-none-any.whl.metadata │ │ │ ├── requests-2.18.4-py2.py3-none-any.whl.metadata │ │ │ ├── requests-2.19.0-py2.py3-none-any.whl.metadata │ │ │ ├── setuptools-39.2.0-py2.py3-none-any.whl.metadata │ │ │ ├── setuptools-67.6.1-py3-none-any.whl.metadata │ │ │ ├── six-1.11.0-py2.py3-none-any.whl.metadata │ │ │ ├── toga-0.3.0-py3-none-any.whl.metadata │ │ │ ├── toga-0.3.0.dev1-py3-none-any.whl.metadata │ │ │ ├── toga-0.3.0.dev2-py3-none-any.whl.metadata │ │ │ ├── toga-0.4.0-py3-none-any.whl.metadata │ │ │ ├── tomlkit-0.5.2-py2.py3-none-any.whl.metadata │ │ │ ├── tomlkit-0.5.3-py2.py3-none-any.whl.metadata │ │ │ ├── wheel-0.40.0-py3-none-any.whl.metadata │ │ │ └── zipp-3.5.0-py3-none-any.whl.metadata │ │ ├── search │ │ │ ├── search-disallowed.html │ │ │ └── search.html │ │ └── stubbed │ │ │ ├── SQLAlchemy-1.2.12.tar.gz │ │ │ ├── Twisted-18.9.0.tar.bz2 │ │ │ ├── attrs-17.4.0-py2.py3-none-any.whl │ │ │ ├── attrs-17.4.0.tar.gz │ │ │ ├── black-19.10b0-py36-none-any.whl │ │ │ ├── black-19.10b0.tar.gz │ │ │ ├── black-21.11b0-py3-none-any.whl │ │ │ ├── black-21.11b0.tar.gz │ │ │ ├── cleo-1.0.0a5-py3-none-any.whl │ │ │ ├── cleo-1.0.0a5.tar.gz │ │ │ ├── clikit-0.2.4-py2.py3-none-any.whl │ │ │ ├── clikit-0.2.4.tar.gz │ │ │ ├── colorama-0.3.9-py2.py3-none-any.whl │ │ │ ├── colorama-0.3.9.tar.gz │ │ │ ├── discord.py-2.0.0-py3-none-any.whl │ │ │ ├── discord.py-2.0.0.tar.gz │ │ │ ├── futures-3.2.0-py2-none-any.whl │ │ │ ├── futures-3.2.0.tar.gz │ │ │ ├── hbmqtt-0.9.6.tar.gz │ │ │ ├── ipython-5.7.0-py2-none-any.whl │ │ │ ├── ipython-5.7.0-py3-none-any.whl │ │ │ ├── ipython-5.7.0.tar.gz │ │ │ ├── ipython-7.5.0-py3-none-any.whl │ │ │ ├── ipython-7.5.0.tar.gz │ │ │ ├── isodate-0.7.0-py3-none-any.whl │ │ │ ├── isodate-0.7.0.tar.gz │ │ │ ├── isort-4.3.4-py2-none-any.whl │ │ │ ├── isort-4.3.4-py3-none-any.whl │ │ │ ├── isort-4.3.4.tar.gz │ │ │ ├── jupyter-1.0.0-py2.py3-none-any.whl │ │ │ ├── jupyter-1.0.0.tar.gz │ │ │ ├── jupyter-1.0.0.zip │ │ │ ├── more-itertools-4.1.0.tar.gz │ │ │ ├── more_itertools-4.1.0-py2-none-any.whl │ │ │ ├── more_itertools-4.1.0-py3-none-any.whl │ │ │ ├── pastel-0.1.0-py3-none-any.whl │ │ │ ├── pastel-0.1.0.tar.gz │ │ │ ├── pluggy-0.6.0-py2-none-any.whl │ │ │ ├── pluggy-0.6.0-py3-none-any.whl │ │ │ ├── pluggy-0.6.0.tar.gz │ │ │ ├── poetry_core-1.5.0.tar.gz │ │ │ ├── poetry_core-2.0.1.tar.gz │ │ │ ├── py-1.5.3-py2.py3-none-any.whl │ │ │ ├── py-1.5.3.tar.gz │ │ │ ├── pytest-3.5.0-py2.py3-none-any.whl │ │ │ ├── pytest-3.5.0.tar.gz │ │ │ ├── pytest-3.5.1-py2.py3-none-any.whl │ │ │ ├── pytest-3.5.1.tar.gz │ │ │ ├── python-language-server-0.21.2.tar.gz │ │ │ ├── requests-2.18.4-py2.py3-none-any.whl │ │ │ ├── requests-2.18.4.tar.gz │ │ │ ├── setuptools-67.6.1.tar.gz │ │ │ ├── six-1.11.0-py2.py3-none-any.whl │ │ │ ├── six-1.11.0.tar.gz │ │ │ ├── tomlkit-0.5.2-py2.py3-none-any.whl │ │ │ ├── tomlkit-0.5.2.tar.gz │ │ │ ├── tomlkit-0.5.3-py2.py3-none-any.whl │ │ │ ├── tomlkit-0.5.3.tar.gz │ │ │ ├── wheel-0.40.0.tar.gz │ │ │ ├── zipp-3.5.0-py3-none-any.whl │ │ │ └── zipp-3.5.0.tar.gz │ ├── pypi.py │ ├── python_hosted.py │ └── single-page │ │ ├── jax_releases.html │ │ └── mmcv_torch_releases.html ├── link_sources │ ├── __init__.py │ ├── test_base.py │ ├── test_html.py │ └── test_json.py ├── parsers │ ├── __init__.py │ ├── test_html_page_parser.py │ └── test_pypi_search_parser.py ├── test_http_repository.py ├── test_installed_repository.py ├── test_legacy_repository.py ├── test_lockfile_repository.py ├── test_pypi_repository.py ├── test_repository.py ├── test_repository_pool.py └── test_single_page_repository.py ├── test_conftest.py ├── test_factory.py ├── test_helpers.py ├── types.py ├── utils ├── __init__.py ├── conftest.py ├── env │ ├── __init__.py │ ├── conftest.py │ ├── python │ │ ├── __init__.py │ │ ├── test_manager.py │ │ ├── test_python_installer.py │ │ └── test_python_providers.py │ ├── test_env.py │ ├── test_env_manager.py │ ├── test_env_site_packages.py │ └── test_system_env.py ├── fixtures │ └── pyproject.toml ├── test_authenticator.py ├── test_cache.py ├── test_dependency_specification.py ├── test_extras.py ├── test_helpers.py ├── test_isolated_build.py ├── test_password_manager.py ├── test_patterns.py ├── test_pip.py ├── test_python_manager.py └── test_threading.py └── vcs └── git ├── conftest.py ├── git_fixture.py ├── test_backend.py └── test_system.py /.gitattributes: -------------------------------------------------------------------------------- 1 | # Do not mess with line endings in metadata files or the hash will be wrong. 2 | *.metadata binary 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | # Ref: https://help.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository#configuring-the-template-chooser 2 | blank_issues_enabled: false 3 | contact_links: 4 | - name: '💬 Discussions' 5 | url: https://github.com/python-poetry/poetry/discussions 6 | about: | 7 | Ask questions about using Poetry, Poetry's features and roadmap, or get support and feedback for your usage of Poetry. 8 | - name: '💬 Discord Server' 9 | url: https://discordapp.com/invite/awxPgve 10 | about: | 11 | Chat with the community and Poetry maintainers about both the usage of and development of the project. 12 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | # Pull Request Check List 2 | 3 | Resolves: #issue-number-here 4 | 5 | 6 | 7 | - [ ] Added **tests** for changed code. 8 | - [ ] Updated **documentation** for changed code. 9 | 10 | 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | 3 | # Packages 4 | /dist/* 5 | 6 | # Unit test / coverage reports 7 | .coverage 8 | .pytest_cache 9 | 10 | .DS_Store 11 | .idea/* 12 | .python-version 13 | .vscode/* 14 | 15 | /docs/site/* 16 | .mypy_cache 17 | 18 | .venv 19 | /poetry.toml 20 | -------------------------------------------------------------------------------- /.pre-commit-hooks.yaml: -------------------------------------------------------------------------------- 1 | - id: poetry-check 2 | name: poetry-check 3 | description: run poetry check to validate config 4 | entry: poetry check 5 | language: python 6 | pass_filenames: false 7 | files: ^(.*/)?(poetry\.lock|pyproject\.toml)$ 8 | 9 | - id: poetry-lock 10 | name: poetry-lock 11 | description: run poetry lock to update lock file 12 | entry: poetry lock 13 | language: python 14 | pass_filenames: false 15 | files: ^(.*/)?(poetry\.lock|pyproject\.toml)$ 16 | 17 | - id: poetry-install 18 | name: poetry-install 19 | description: run poetry install to install dependencies from the lock file 20 | entry: poetry install 21 | language: python 22 | pass_filenames: false 23 | stages: [post-checkout, post-merge] 24 | always_run: true 25 | -------------------------------------------------------------------------------- /CITATION.cff: -------------------------------------------------------------------------------- 1 | cff-version: 1.2.0 2 | title: "Poetry: Python packaging and dependency management made easy" 3 | message: >- 4 | If you use this software, please cite it using the 5 | metadata from this file. 6 | authors: 7 | - family-names: Eustace 8 | given-names: Sébastien 9 | - name: "The Poetry contributors" 10 | abstract: >- 11 | Poetry helps you declare, manage and install dependencies of Python projects, ensuring you have the right stack everywhere. 12 | Poetry replaces setup.py, requirements.txt, setup.cfg, MANIFEST.in and Pipfile with a simple pyproject.toml based project format. 13 | license: MIT 14 | license-url: "https://github.com/python-poetry/poetry/blob/main/LICENSE" 15 | repository-code: "https://github.com/python-poetry/poetry" 16 | keywords: 17 | - python 18 | - packaging 19 | - dependency management 20 | type: software 21 | url: "https://python-poetry.org" 22 | -------------------------------------------------------------------------------- /assets/install.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/assets/install.gif -------------------------------------------------------------------------------- /docs/community.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Community" 3 | draft: false 4 | type: docs 5 | layout: single 6 | 7 | menu: 8 | docs: 9 | weight: 105 10 | --- 11 | 12 | # Community 13 | 14 | ## Badge 15 | 16 | For any projects using Poetry, you may add its official badge somewhere prominent like the README. 17 | 18 | [![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/) 19 | 20 | **Markdown** 21 | ```md 22 | [![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/) 23 | ``` 24 | 25 | **reStructuredText** 26 | ```rst 27 | .. image:: https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json 28 | :alt: Poetry 29 | :target: https://python-poetry.org/ 30 | ``` 31 | -------------------------------------------------------------------------------- /src/poetry/__main__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | import sys 4 | 5 | 6 | if __name__ == "__main__": 7 | from poetry.console.application import main 8 | 9 | sys.exit(main()) 10 | -------------------------------------------------------------------------------- /src/poetry/__version__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.utils._compat import metadata 4 | 5 | 6 | __version__ = metadata.version("poetry") 7 | -------------------------------------------------------------------------------- /src/poetry/config/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/config/__init__.py -------------------------------------------------------------------------------- /src/poetry/console/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/console/__init__.py -------------------------------------------------------------------------------- /src/poetry/console/command_loader.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from typing import TYPE_CHECKING 4 | 5 | from cleo.exceptions import CleoLogicError 6 | from cleo.loaders.factory_command_loader import FactoryCommandLoader 7 | 8 | 9 | if TYPE_CHECKING: 10 | from collections.abc import Callable 11 | 12 | from cleo.commands.command import Command 13 | 14 | 15 | class CommandLoader(FactoryCommandLoader): 16 | def register_factory( 17 | self, command_name: str, factory: Callable[[], Command] 18 | ) -> None: 19 | if command_name in self._factories: 20 | raise CleoLogicError(f'The command "{command_name}" already exists.') 21 | 22 | self._factories[command_name] = factory 23 | -------------------------------------------------------------------------------- /src/poetry/console/commands/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/console/commands/__init__.py -------------------------------------------------------------------------------- /src/poetry/console/commands/about.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.console.commands.command import Command 4 | 5 | 6 | class AboutCommand(Command): 7 | name = "about" 8 | 9 | description = "Shows information about Poetry." 10 | 11 | def handle(self) -> int: 12 | from poetry.utils._compat import metadata 13 | 14 | self.line( 15 | f"""\ 16 | Poetry - Package Management for Python 17 | 18 | Version: {metadata.version("poetry")} 19 | Poetry-Core Version: {metadata.version("poetry-core")} 20 | 21 | Poetry is a dependency manager tracking local dependencies of your projects\ 22 | and libraries. 23 | See https://github.com/python-poetry/poetry for more information.\ 24 | """ 25 | ) 26 | 27 | return 0 28 | -------------------------------------------------------------------------------- /src/poetry/console/commands/cache/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/console/commands/cache/__init__.py -------------------------------------------------------------------------------- /src/poetry/console/commands/cache/list.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.config.config import Config 4 | from poetry.console.commands.command import Command 5 | 6 | 7 | class CacheListCommand(Command): 8 | name = "cache list" 9 | description = "List Poetry's caches." 10 | 11 | def handle(self) -> int: 12 | config = Config.create() 13 | if config.repository_cache_directory.exists(): 14 | caches = sorted(config.repository_cache_directory.iterdir()) 15 | if caches: 16 | for cache in caches: 17 | self.line(f"{cache.name}") 18 | return 0 19 | 20 | self.line_error("No caches found") 21 | return 0 22 | -------------------------------------------------------------------------------- /src/poetry/console/commands/debug/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/console/commands/debug/__init__.py -------------------------------------------------------------------------------- /src/poetry/console/commands/debug/info.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | import sys 4 | 5 | from poetry.console.commands.command import Command 6 | 7 | 8 | class DebugInfoCommand(Command): 9 | name = "debug info" 10 | description = "Shows debug information." 11 | 12 | def handle(self) -> int: 13 | poetry_python_version = ".".join(str(s) for s in sys.version_info[:3]) 14 | 15 | self.line("") 16 | self.line("Poetry") 17 | self.line( 18 | "\n".join( 19 | [ 20 | f"Version: {self.poetry.VERSION}", 21 | f"Python: {poetry_python_version}", 22 | ] 23 | ) 24 | ) 25 | command = self.get_application().get("env info") 26 | 27 | exit_code: int = command.run(self.io) 28 | return exit_code 29 | -------------------------------------------------------------------------------- /src/poetry/console/commands/debug/tags.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.console.commands.env_command import EnvCommand 4 | 5 | 6 | class DebugTagsCommand(EnvCommand): 7 | name = "debug tags" 8 | description = "Shows compatible tags for your project's current active environment." 9 | 10 | def handle(self) -> int: 11 | for tag in self.env.get_supported_tags(): 12 | self.io.write_line( 13 | f"{tag.interpreter}" 14 | f"-{tag.abi}" 15 | f"-{tag.platform}" 16 | ) 17 | return 0 18 | -------------------------------------------------------------------------------- /src/poetry/console/commands/env/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/console/commands/env/__init__.py -------------------------------------------------------------------------------- /src/poetry/console/commands/env_command.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from typing import TYPE_CHECKING 4 | 5 | from poetry.console.commands.command import Command 6 | 7 | 8 | if TYPE_CHECKING: 9 | from poetry.utils.env import Env 10 | 11 | 12 | class EnvCommand(Command): 13 | def __init__(self) -> None: 14 | # Set in poetry.console.application.Application.configure_env 15 | self._env: Env | None = None 16 | 17 | super().__init__() 18 | 19 | @property 20 | def env(self) -> Env: 21 | assert self._env is not None 22 | return self._env 23 | 24 | def set_env(self, env: Env) -> None: 25 | self._env = env 26 | -------------------------------------------------------------------------------- /src/poetry/console/commands/python/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/console/commands/python/__init__.py -------------------------------------------------------------------------------- /src/poetry/console/commands/self/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/console/commands/self/__init__.py -------------------------------------------------------------------------------- /src/poetry/console/commands/self/lock.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.console.commands.lock import LockCommand 4 | from poetry.console.commands.self.self_command import SelfCommand 5 | 6 | 7 | class SelfLockCommand(SelfCommand, LockCommand): 8 | name = "self lock" 9 | description = "Lock the Poetry installation's system requirements." 10 | help = f"""\ 11 | The self lock command reads this Poetry installation's system requirements as \ 12 | specified in the {SelfCommand.get_default_system_pyproject_file()} file. 13 | 14 | The system dependencies are locked in the \ 15 | {SelfCommand.get_default_system_pyproject_file().parent.joinpath("poetry.lock")} \ 16 | file. 17 | """ 18 | -------------------------------------------------------------------------------- /src/poetry/console/commands/self/remove.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from typing import TYPE_CHECKING 4 | from typing import ClassVar 5 | 6 | from poetry.console.commands.remove import RemoveCommand 7 | from poetry.console.commands.self.self_command import SelfCommand 8 | 9 | 10 | if TYPE_CHECKING: 11 | from cleo.io.inputs.option import Option 12 | 13 | 14 | class SelfRemoveCommand(SelfCommand, RemoveCommand): 15 | name = "self remove" 16 | description = "Remove additional packages from Poetry's runtime environment." 17 | options: ClassVar[list[Option]] = [ 18 | o for o in RemoveCommand.options if o.name in {"dry-run"} 19 | ] 20 | help = f"""\ 21 | The self remove command removes additional package's to Poetry's runtime \ 22 | environment. 23 | 24 | This is managed in the {SelfCommand.get_default_system_pyproject_file()} \ 25 | file. 26 | """ 27 | -------------------------------------------------------------------------------- /src/poetry/console/commands/source/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/console/commands/source/__init__.py -------------------------------------------------------------------------------- /src/poetry/console/events/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/console/events/__init__.py -------------------------------------------------------------------------------- /src/poetry/console/events/console_events.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/console/events/console_events.py -------------------------------------------------------------------------------- /src/poetry/console/logging/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/console/logging/__init__.py -------------------------------------------------------------------------------- /src/poetry/console/logging/filters.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | import logging 4 | 5 | 6 | POETRY_FILTER = logging.Filter(name="poetry") 7 | -------------------------------------------------------------------------------- /src/poetry/console/logging/formatters/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.console.logging.formatters.builder_formatter import BuilderLogFormatter 4 | 5 | 6 | FORMATTERS = { 7 | "poetry.core.masonry.builders.builder": BuilderLogFormatter(), 8 | "poetry.core.masonry.builders.sdist": BuilderLogFormatter(), 9 | "poetry.core.masonry.builders.wheel": BuilderLogFormatter(), 10 | } 11 | -------------------------------------------------------------------------------- /src/poetry/console/logging/formatters/formatter.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from abc import ABC 4 | from abc import abstractmethod 5 | 6 | 7 | class Formatter(ABC): 8 | @abstractmethod 9 | def format(self, msg: str) -> str: ... 10 | -------------------------------------------------------------------------------- /src/poetry/console/logging/io_handler.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | import logging 4 | 5 | from typing import TYPE_CHECKING 6 | 7 | 8 | if TYPE_CHECKING: 9 | from logging import LogRecord 10 | 11 | from cleo.io.io import IO 12 | 13 | 14 | class IOHandler(logging.Handler): 15 | def __init__(self, io: IO) -> None: 16 | self._io = io 17 | 18 | super().__init__() 19 | 20 | def emit(self, record: LogRecord) -> None: 21 | try: 22 | msg = self.format(record) 23 | level = record.levelname.lower() 24 | err = level in ("warning", "error", "exception", "critical") 25 | if err: 26 | self._io.write_error_line(msg) 27 | else: 28 | self._io.write_line(msg) 29 | except Exception: 30 | self.handleError(record) 31 | -------------------------------------------------------------------------------- /src/poetry/exceptions.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | 4 | class PoetryError(Exception): 5 | pass 6 | -------------------------------------------------------------------------------- /src/poetry/inspection/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/inspection/__init__.py -------------------------------------------------------------------------------- /src/poetry/installation/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.installation.installer import Installer 4 | 5 | 6 | __all__ = ["Installer"] 7 | -------------------------------------------------------------------------------- /src/poetry/installation/operations/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.installation.operations.install import Install 4 | from poetry.installation.operations.uninstall import Uninstall 5 | from poetry.installation.operations.update import Update 6 | 7 | 8 | __all__ = ["Install", "Uninstall", "Update"] 9 | -------------------------------------------------------------------------------- /src/poetry/layouts/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.layouts.layout import Layout 4 | from poetry.layouts.src import SrcLayout 5 | 6 | 7 | _LAYOUTS = {"src": SrcLayout, "standard": Layout} 8 | 9 | 10 | def layout(name: str) -> type[Layout]: 11 | if name not in _LAYOUTS: 12 | raise ValueError("Invalid layout") 13 | 14 | return _LAYOUTS[name] 15 | -------------------------------------------------------------------------------- /src/poetry/layouts/src.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from pathlib import Path 4 | 5 | from poetry.layouts.layout import Layout 6 | 7 | 8 | class SrcLayout(Layout): 9 | @property 10 | def basedir(self) -> Path: 11 | return Path("src") 12 | -------------------------------------------------------------------------------- /src/poetry/locations.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | import os 4 | 5 | from pathlib import Path 6 | 7 | from platformdirs import user_cache_path 8 | from platformdirs import user_config_path 9 | from platformdirs import user_data_path 10 | 11 | 12 | _APP_NAME = "pypoetry" 13 | 14 | DEFAULT_CACHE_DIR = user_cache_path(_APP_NAME, appauthor=False) 15 | CONFIG_DIR = Path( 16 | os.getenv("POETRY_CONFIG_DIR") 17 | or user_config_path(_APP_NAME, appauthor=False, roaming=True) 18 | ) 19 | 20 | 21 | def data_dir() -> Path: 22 | if poetry_home := os.getenv("POETRY_HOME"): 23 | return Path(poetry_home).expanduser() 24 | 25 | return user_data_path(_APP_NAME, appauthor=False, roaming=True) 26 | -------------------------------------------------------------------------------- /src/poetry/masonry/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/masonry/__init__.py -------------------------------------------------------------------------------- /src/poetry/masonry/api.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.core.masonry.api import build_sdist 4 | from poetry.core.masonry.api import build_wheel 5 | from poetry.core.masonry.api import get_requires_for_build_sdist 6 | from poetry.core.masonry.api import get_requires_for_build_wheel 7 | from poetry.core.masonry.api import prepare_metadata_for_build_wheel 8 | 9 | 10 | __all__ = [ 11 | "build_sdist", 12 | "build_wheel", 13 | "get_requires_for_build_sdist", 14 | "get_requires_for_build_wheel", 15 | "prepare_metadata_for_build_wheel", 16 | ] 17 | -------------------------------------------------------------------------------- /src/poetry/masonry/builders/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.core.masonry.builders.sdist import SdistBuilder 4 | from poetry.core.masonry.builders.wheel import WheelBuilder 5 | 6 | from poetry.masonry.builders.editable import EditableBuilder 7 | 8 | 9 | __all__ = ["BUILD_FORMATS", "EditableBuilder"] 10 | 11 | 12 | # might be extended by plugins 13 | BUILD_FORMATS = { 14 | "sdist": SdistBuilder, 15 | "wheel": WheelBuilder, 16 | } 17 | -------------------------------------------------------------------------------- /src/poetry/mixology/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from typing import TYPE_CHECKING 4 | 5 | from poetry.mixology.version_solver import VersionSolver 6 | 7 | 8 | if TYPE_CHECKING: 9 | from poetry.core.packages.project_package import ProjectPackage 10 | 11 | from poetry.mixology.result import SolverResult 12 | from poetry.puzzle.provider import Provider 13 | 14 | 15 | def resolve_version(root: ProjectPackage, provider: Provider) -> SolverResult: 16 | solver = VersionSolver(root, provider) 17 | 18 | return solver.solve() 19 | -------------------------------------------------------------------------------- /src/poetry/mixology/result.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from typing import TYPE_CHECKING 4 | 5 | 6 | if TYPE_CHECKING: 7 | from poetry.core.packages.package import Package 8 | from poetry.core.packages.project_package import ProjectPackage 9 | 10 | 11 | class SolverResult: 12 | def __init__( 13 | self, 14 | root: ProjectPackage, 15 | packages: list[Package], 16 | attempted_solutions: int, 17 | ) -> None: 18 | self._root = root 19 | self._packages = packages 20 | self._attempted_solutions = attempted_solutions 21 | 22 | @property 23 | def packages(self) -> list[Package]: 24 | return self._packages 25 | 26 | @property 27 | def attempted_solutions(self) -> int: 28 | return self._attempted_solutions 29 | -------------------------------------------------------------------------------- /src/poetry/mixology/set_relation.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | 4 | class SetRelation: 5 | """ 6 | An enum of possible relationships between two sets. 7 | """ 8 | 9 | SUBSET = "subset" 10 | 11 | DISJOINT = "disjoint" 12 | 13 | OVERLAPPING = "overlapping" 14 | -------------------------------------------------------------------------------- /src/poetry/packages/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.packages.dependency_package import DependencyPackage 4 | from poetry.packages.locker import Locker 5 | from poetry.packages.package_collection import PackageCollection 6 | 7 | 8 | __all__ = ["DependencyPackage", "Locker", "PackageCollection"] 9 | -------------------------------------------------------------------------------- /src/poetry/plugins/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.plugins.application_plugin import ApplicationPlugin 4 | from poetry.plugins.plugin import Plugin 5 | 6 | 7 | __all__ = ["ApplicationPlugin", "Plugin"] 8 | -------------------------------------------------------------------------------- /src/poetry/plugins/application_plugin.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from typing import TYPE_CHECKING 4 | 5 | from poetry.plugins.base_plugin import BasePlugin 6 | 7 | 8 | if TYPE_CHECKING: 9 | from poetry.console.application import Application 10 | from poetry.console.commands.command import Command 11 | 12 | 13 | class ApplicationPlugin(BasePlugin): 14 | """ 15 | Base class for application plugins. 16 | """ 17 | 18 | group = "poetry.application.plugin" 19 | 20 | @property 21 | def commands(self) -> list[type[Command]]: 22 | return [] 23 | 24 | def activate(self, application: Application) -> None: 25 | for command in self.commands: 26 | assert command.name is not None 27 | application.command_loader.register_factory(command.name, command) 28 | -------------------------------------------------------------------------------- /src/poetry/plugins/base_plugin.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from abc import ABC 4 | from abc import abstractmethod 5 | 6 | 7 | class BasePlugin(ABC): 8 | """ 9 | Base class for all plugin types 10 | 11 | The `activate()` method must be implemented and receives the Poetry instance. 12 | """ 13 | 14 | PLUGIN_API_VERSION = "1.0.0" 15 | 16 | @property 17 | @abstractmethod 18 | def group(self) -> str: 19 | """ 20 | Name of entrypoint group the plugin belongs to. 21 | """ 22 | -------------------------------------------------------------------------------- /src/poetry/plugins/plugin.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from abc import abstractmethod 4 | from typing import TYPE_CHECKING 5 | 6 | from poetry.plugins.base_plugin import BasePlugin 7 | 8 | 9 | if TYPE_CHECKING: 10 | from cleo.io.io import IO 11 | 12 | from poetry.poetry import Poetry 13 | 14 | 15 | class Plugin(BasePlugin): 16 | """ 17 | Generic plugin not related to the console application. 18 | """ 19 | 20 | group = "poetry.plugin" 21 | 22 | @abstractmethod 23 | def activate(self, poetry: Poetry, io: IO) -> None: ... 24 | -------------------------------------------------------------------------------- /src/poetry/publishing/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.publishing.publisher import Publisher 4 | 5 | 6 | __all__ = ["Publisher"] 7 | -------------------------------------------------------------------------------- /src/poetry/puzzle/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.puzzle.solver import Solver 4 | 5 | 6 | __all__ = ["Solver"] 7 | -------------------------------------------------------------------------------- /src/poetry/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/py.typed -------------------------------------------------------------------------------- /src/poetry/pyproject/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/pyproject/__init__.py -------------------------------------------------------------------------------- /src/poetry/repositories/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.repositories.repository import Repository 4 | from poetry.repositories.repository_pool import RepositoryPool 5 | 6 | 7 | __all__ = ["Repository", "RepositoryPool"] 8 | -------------------------------------------------------------------------------- /src/poetry/repositories/abstract_repository.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from abc import ABC 4 | from abc import abstractmethod 5 | from typing import TYPE_CHECKING 6 | 7 | 8 | if TYPE_CHECKING: 9 | from poetry.core.constraints.version import Version 10 | from poetry.core.packages.dependency import Dependency 11 | from poetry.core.packages.package import Package 12 | 13 | 14 | class AbstractRepository(ABC): 15 | def __init__(self, name: str) -> None: 16 | self._name = name 17 | 18 | @property 19 | def name(self) -> str: 20 | return self._name 21 | 22 | @abstractmethod 23 | def find_packages(self, dependency: Dependency) -> list[Package]: ... 24 | 25 | @abstractmethod 26 | def search(self, query: str | list[str]) -> list[Package]: ... 27 | 28 | @abstractmethod 29 | def package(self, name: str, version: Version) -> Package: ... 30 | -------------------------------------------------------------------------------- /src/poetry/repositories/exceptions.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | 4 | class RepositoryError(Exception): 5 | pass 6 | 7 | 8 | class PackageNotFoundError(Exception): 9 | pass 10 | 11 | 12 | class InvalidSourceError(Exception): 13 | pass 14 | -------------------------------------------------------------------------------- /src/poetry/repositories/link_sources/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/repositories/link_sources/__init__.py -------------------------------------------------------------------------------- /src/poetry/repositories/lockfile_repository.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from typing import TYPE_CHECKING 4 | 5 | from poetry.repositories import Repository 6 | 7 | 8 | if TYPE_CHECKING: 9 | from poetry.core.packages.package import Package 10 | 11 | 12 | class LockfileRepository(Repository): 13 | """ 14 | Special repository that distinguishes packages not only by name and version, 15 | but also by source type, url, etc. 16 | """ 17 | 18 | def __init__(self) -> None: 19 | super().__init__("poetry-lockfile") 20 | 21 | def has_package(self, package: Package) -> bool: 22 | return any(p == package for p in self.packages) 23 | -------------------------------------------------------------------------------- /src/poetry/repositories/parsers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/repositories/parsers/__init__.py -------------------------------------------------------------------------------- /src/poetry/repositories/parsers/html_page_parser.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from html.parser import HTMLParser 4 | 5 | 6 | class HTMLPageParser(HTMLParser): 7 | def __init__(self) -> None: 8 | super().__init__() 9 | self.base_url: str | None = None 10 | self.anchors: list[dict[str, str | None]] = [] 11 | 12 | def handle_starttag(self, tag: str, attrs: list[tuple[str, str | None]]) -> None: 13 | if tag == "base" and self.base_url is None: 14 | base_url = dict(attrs).get("href") 15 | if base_url is not None: 16 | self.base_url = base_url 17 | elif tag == "a": 18 | self.anchors.append(dict(attrs)) 19 | -------------------------------------------------------------------------------- /src/poetry/repositories/single_page_repository.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from typing import TYPE_CHECKING 4 | 5 | from poetry.repositories.exceptions import PackageNotFoundError 6 | from poetry.repositories.legacy_repository import LegacyRepository 7 | from poetry.repositories.link_sources.html import HTMLPage 8 | 9 | 10 | if TYPE_CHECKING: 11 | from packaging.utils import NormalizedName 12 | 13 | 14 | class SinglePageRepository(LegacyRepository): 15 | def _get_page(self, name: NormalizedName) -> HTMLPage: 16 | """ 17 | Single page repositories only have one page irrespective of endpoint. 18 | """ 19 | response = self._get_response("") 20 | if not response: 21 | raise PackageNotFoundError(f"Package [{name}] not found.") 22 | return HTMLPage(response.url, response.text) 23 | -------------------------------------------------------------------------------- /src/poetry/toml/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.toml.exceptions import TOMLError 4 | from poetry.toml.file import TOMLFile 5 | 6 | 7 | __all__ = ["TOMLError", "TOMLFile"] 8 | -------------------------------------------------------------------------------- /src/poetry/toml/exceptions.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.core.exceptions import PoetryCoreError 4 | from tomlkit.exceptions import TOMLKitError 5 | 6 | 7 | class TOMLError(TOMLKitError, PoetryCoreError): 8 | pass 9 | -------------------------------------------------------------------------------- /src/poetry/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/utils/__init__.py -------------------------------------------------------------------------------- /src/poetry/utils/constants.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | import os 4 | 5 | 6 | # Timeout for HTTP requests using the requests library. 7 | REQUESTS_TIMEOUT = int(os.getenv("POETRY_REQUESTS_TIMEOUT", 15)) 8 | 9 | RETRY_AFTER_HEADER = "retry-after" 10 | 11 | # Server response codes to retry requests on. 12 | STATUS_FORCELIST = [429, 500, 501, 502, 503, 504] 13 | -------------------------------------------------------------------------------- /src/poetry/utils/env/python/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.utils.env.python.manager import Python 4 | 5 | 6 | __all__ = ["Python"] 7 | -------------------------------------------------------------------------------- /src/poetry/utils/patterns.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | import re 4 | 5 | 6 | wheel_file_re = re.compile( 7 | r"^(?P(?P.+?)-(?P\d[^-]*))" 8 | r"(-(?P\d[^-]*))?" 9 | r"-(?P[^-]+)" 10 | r"-(?P[^-]+)" 11 | r"-(?P[^-]+)" 12 | r"\.whl$", 13 | re.VERBOSE, 14 | ) 15 | 16 | sdist_file_re = re.compile( 17 | r"^(?P(?P.+?)-(?P\d[^-]*?))" 18 | r"(\.sdist)?\.(?P(zip|tar(\.(gz|bz2|xz|Z))?))$" 19 | ) 20 | -------------------------------------------------------------------------------- /src/poetry/vcs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/vcs/__init__.py -------------------------------------------------------------------------------- /src/poetry/vcs/git/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from poetry.vcs.git.backend import Git 4 | 5 | 6 | __all__ = ["Git"] 7 | -------------------------------------------------------------------------------- /src/poetry/version/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/src/poetry/version/__init__.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/__init__.py -------------------------------------------------------------------------------- /tests/config/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/config/__init__.py -------------------------------------------------------------------------------- /tests/console/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/console/__init__.py -------------------------------------------------------------------------------- /tests/console/commands/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/console/commands/__init__.py -------------------------------------------------------------------------------- /tests/console/commands/cache/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/console/commands/cache/__init__.py -------------------------------------------------------------------------------- /tests/console/commands/debug/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/console/commands/debug/__init__.py -------------------------------------------------------------------------------- /tests/console/commands/env/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/console/commands/env/__init__.py -------------------------------------------------------------------------------- /tests/console/commands/python/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/console/commands/python/__init__.py -------------------------------------------------------------------------------- /tests/console/commands/self/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/console/commands/self/__init__.py -------------------------------------------------------------------------------- /tests/console/commands/self/fixtures/poetry-1.0.5-darwin.sha256sum: -------------------------------------------------------------------------------- 1 | be3d3b916cb47038899d6ff37e875fd08ba3fed22bcdbf5a92f3f48fd2f15da8 2 | -------------------------------------------------------------------------------- /tests/console/commands/self/fixtures/poetry-1.0.5-darwin.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/console/commands/self/fixtures/poetry-1.0.5-darwin.tar.gz -------------------------------------------------------------------------------- /tests/console/commands/source/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/console/commands/source/__init__.py -------------------------------------------------------------------------------- /tests/console/logging/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/console/logging/__init__.py -------------------------------------------------------------------------------- /tests/console/logging/formatters/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/console/logging/formatters/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/bad_scripts_project/no_colon/README.rst: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/bad_scripts_project/no_colon/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "simple-project" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | "Sébastien Eustace " 7 | ] 8 | license = "MIT" 9 | 10 | readme = ["README.rst"] 11 | 12 | homepage = "https://python-poetry.org" 13 | repository = "https://github.com/python-poetry/poetry" 14 | documentation = "https://python-poetry.org/docs" 15 | 16 | keywords = ["packaging", "dependency", "poetry"] 17 | 18 | classifiers = [ 19 | "Topic :: Software Development :: Build Tools", 20 | "Topic :: Software Development :: Libraries :: Python Modules" 21 | ] 22 | 23 | # Requirements 24 | [tool.poetry.dependencies] 25 | python = "~2.7 || ^3.4" 26 | 27 | [tool.poetry.scripts] 28 | foo = "bar.bin.foo" 29 | 30 | [build-system] 31 | requires = ["poetry-core>=1.1.0a7"] 32 | build-backend = "poetry.core.masonry.api" 33 | -------------------------------------------------------------------------------- /tests/fixtures/bad_scripts_project/no_colon/simple_project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/bad_scripts_project/no_colon/simple_project/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/bad_scripts_project/too_many_colon/README.rst: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/bad_scripts_project/too_many_colon/simple_project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/bad_scripts_project/too_many_colon/simple_project/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/build_system_requires_not_available/README.rst: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/build_system_requires_not_available/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "simple-project" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | "Sébastien Eustace " 7 | ] 8 | license = "MIT" 9 | 10 | readme = ["README.rst"] 11 | 12 | homepage = "https://python-poetry.org" 13 | repository = "https://github.com/python-poetry/poetry" 14 | documentation = "https://python-poetry.org/docs" 15 | 16 | keywords = ["packaging", "dependency", "poetry"] 17 | 18 | classifiers = [ 19 | "Topic :: Software Development :: Build Tools", 20 | "Topic :: Software Development :: Libraries :: Python Modules" 21 | ] 22 | 23 | # Requirements 24 | [tool.poetry.dependencies] 25 | python = "^3.7" 26 | 27 | [build-system] 28 | requires = ["poetry-core==0.999"] 29 | build-backend = "poetry.core.masonry.api" 30 | -------------------------------------------------------------------------------- /tests/fixtures/build_system_requires_not_available/simple_project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/build_system_requires_not_available/simple_project/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/build_systems/core_from_git/README.md: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/build_systems/core_from_git/pyproject.toml: -------------------------------------------------------------------------------- 1 | [project] 2 | name = "core-from-git" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | { name = "Poetry Contributors", email = "no-reply@python-poetry.org" } 7 | ] 8 | license = { text = "MIT" } 9 | readme = "README.md" 10 | keywords = ["packaging", "dependency", "poetry"] 11 | requires-python = ">=3.4" 12 | 13 | [build-system] 14 | requires = ["poetry-core @ git+https://github.com/python-poetry/poetry-core.git"] 15 | build-backend = "poetry.core.masonry.api" 16 | -------------------------------------------------------------------------------- /tests/fixtures/build_systems/core_from_git/simple_project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/build_systems/core_from_git/simple_project/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/build_systems/core_in_range/README.md: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/build_systems/core_in_range/pyproject.toml: -------------------------------------------------------------------------------- 1 | [project] 2 | name = "simple-project" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | { name = "Poetry Contributors", email = "no-reply@python-poetry.org" } 7 | ] 8 | license = { text = "MIT" } 9 | readme = "README.md" 10 | keywords = ["packaging", "dependency", "poetry"] 11 | requires-python = ">=3.4" 12 | 13 | [build-system] 14 | requires = ["poetry-core>=1.1.0a7"] 15 | build-backend = "poetry.core.masonry.api" 16 | -------------------------------------------------------------------------------- /tests/fixtures/build_systems/core_in_range/simple_project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/build_systems/core_in_range/simple_project/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/build_systems/core_not_in_range/README.md: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/build_systems/core_not_in_range/pyproject.toml: -------------------------------------------------------------------------------- 1 | [project] 2 | name = "simple-prject" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | { name = "Poetry Contributors", email = "no-reply@python-poetry.org" } 7 | ] 8 | license = { text = "MIT" } 9 | readme = "README.md" 10 | keywords = ["packaging", "dependency", "poetry"] 11 | requires-python = ">=3.4" 12 | 13 | [build-system] 14 | requires = ["poetry-core<0.1"] 15 | build-backend = "poetry.core.masonry.api" 16 | -------------------------------------------------------------------------------- /tests/fixtures/build_systems/core_not_in_range/simple_project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/build_systems/core_not_in_range/simple_project/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/build_systems/has_build_script/README.md: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/build_systems/has_build_script/pyproject.toml: -------------------------------------------------------------------------------- 1 | [project] 2 | name = "simple-project" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | { name = "Poetry Contributors", email = "no-reply@python-poetry.org" } 7 | ] 8 | license = { text = "MIT" } 9 | readme = "README.md" 10 | keywords = ["packaging", "dependency", "poetry"] 11 | requires-python = ">=3.4" 12 | 13 | [tool.poetry.build] 14 | script = "build.py" 15 | generate-setup-file = true 16 | 17 | [build-system] 18 | requires = ["poetry-core>=1.1.0a7"] 19 | build-backend = "poetry.core.masonry.api" 20 | -------------------------------------------------------------------------------- /tests/fixtures/build_systems/has_build_script/simple_project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/build_systems/has_build_script/simple_project/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/build_systems/multiple_build_deps/README.md: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/build_systems/multiple_build_deps/pyproject.toml: -------------------------------------------------------------------------------- 1 | [project] 2 | name = "simple-prject" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | { name = "Poetry Contributors", email = "no-reply@python-poetry.org" } 7 | ] 8 | license = { text = "MIT" } 9 | readme = "README.md" 10 | requires-python = ">=3.4" 11 | 12 | [build-system] 13 | requires = ["poetry-core>=1.1.0a7", "setuptools"] 14 | build-backend = "poetry.core.masonry.api" 15 | -------------------------------------------------------------------------------- /tests/fixtures/build_systems/multiple_build_deps/simple_project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/build_systems/multiple_build_deps/simple_project/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/build_systems/no_build_backend/README.md: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/build_systems/no_build_backend/pyproject.toml: -------------------------------------------------------------------------------- 1 | [project] 2 | name = "simple-project" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | { name = "Poetry Contributors", email = "no-reply@python-poetry.org" } 7 | ] 8 | license = { text = "MIT" } 9 | readme = "README.md" 10 | keywords = ["packaging", "dependency", "poetry"] 11 | requires-python = ">=3.4" 12 | 13 | [build-system] 14 | requires = ["poetry-core>=1.1.0a7"] 15 | -------------------------------------------------------------------------------- /tests/fixtures/build_systems/no_build_backend/simple_project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/build_systems/no_build_backend/simple_project/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/build_systems/no_build_system/README.md: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/build_systems/no_build_system/pyproject.toml: -------------------------------------------------------------------------------- 1 | [project] 2 | name = "simple-project" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | { name = "Poetry Contributors", email = "no-reply@python-poetry.org" } 7 | ] 8 | license = { text = "MIT" } 9 | readme = "README.md" 10 | keywords = ["packaging", "dependency", "poetry"] 11 | requires-python = ">=3.4" 12 | -------------------------------------------------------------------------------- /tests/fixtures/build_systems/no_build_system/simple_project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/build_systems/no_build_system/simple_project/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/build_systems/no_core/README.md: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/build_systems/no_core/pyproject.toml: -------------------------------------------------------------------------------- 1 | [project] 2 | name = "simple-project" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | { name = "Poetry Contributors", email = "no-reply@python-poetry.org" } 7 | ] 8 | license = { text = "MIT" } 9 | readme = "README.md" 10 | keywords = ["packaging", "dependency", "poetry"] 11 | requires-python = ">=3.4" 12 | 13 | [tool.maturin] 14 | manylinux = "off" 15 | sdist-include = ["Cargo.lock", "json/**/*"] 16 | strip = "on" 17 | 18 | [build-system] 19 | build-backend = "maturin" 20 | requires = ["maturin>=0.8.1,<0.9"] 21 | -------------------------------------------------------------------------------- /tests/fixtures/build_systems/no_core/simple_project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/build_systems/no_core/simple_project/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/deleted_directory_dependency/poetry.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Poetry and should not be changed by hand. 2 | 3 | [[package]] 4 | name = "missing" 5 | version = "1.2.3" 6 | description = "" 7 | optional = false 8 | python-versions = "*" 9 | files = [] 10 | develop = false 11 | 12 | [package.source] 13 | type = "directory" 14 | url = "missing" 15 | 16 | [metadata] 17 | lock-version = "2.0" 18 | python-versions = "*" 19 | content-hash = "bec78476925e4cda6b22e91551ce4337264bdc3394c4f8297ad238f67a436d0e" 20 | -------------------------------------------------------------------------------- /tests/fixtures/deleted_directory_dependency/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "project-with-missing-directory-dependency" 3 | version = "1.2.3" 4 | description = "This is a description" 5 | authors = ["Your Name "] 6 | license = "MIT" 7 | packages = [] 8 | 9 | [tool.poetry.dependencies] 10 | python = "*" 11 | -------------------------------------------------------------------------------- /tests/fixtures/deleted_file_dependency/poetry.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Poetry and should not be changed by hand. 2 | 3 | [[package]] 4 | name = "missing" 5 | version = "1.2.3" 6 | description = "" 7 | optional = false 8 | python-versions = "*" 9 | files = [] 10 | develop = false 11 | 12 | [package.source] 13 | type = "file" 14 | url = "missing-0.1.0-py2.py3-none-any.whl" 15 | 16 | [metadata] 17 | lock-version = "2.0" 18 | python-versions = "*" 19 | content-hash = "bec78476925e4cda6b22e91551ce4337264bdc3394c4f8297ad238f67a436d0e" 20 | -------------------------------------------------------------------------------- /tests/fixtures/deleted_file_dependency/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "project-with-missing-directory-dependency" 3 | version = "1.2.3" 4 | description = "This is a description" 5 | authors = ["Your Name "] 6 | license = "MIT" 7 | packages = [] 8 | 9 | [tool.poetry.dependencies] 10 | python = "*" 11 | -------------------------------------------------------------------------------- /tests/fixtures/directory/project_with_transitive_directory_dependencies/project_with_transitive_directory_dependencies/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/directory/project_with_transitive_directory_dependencies/project_with_transitive_directory_dependencies/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/directory/project_with_transitive_directory_dependencies/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "project-with-transitive-directory-dependencies" 3 | version = "1.2.3" 4 | description = "This is a description" 5 | authors = ["Your Name "] 6 | license = "MIT" 7 | 8 | [tool.poetry.dependencies] 9 | python = "*" 10 | project-with-extras = {path = "../../project_with_extras/"} 11 | project-with-transitive-file-dependencies = {path = "../project_with_transitive_file_dependencies/"} 12 | 13 | [tool.poetry.group.dev.dependencies] 14 | -------------------------------------------------------------------------------- /tests/fixtures/directory/project_with_transitive_directory_dependencies/setup.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from distutils.core import setup 4 | 5 | 6 | packages = ["project_with_extras"] 7 | 8 | package_data = {"": ["*"]} 9 | 10 | extras_require = {"extras_a": ["pendulum>=1.4.4"], "extras_b": ["cachy>=0.2.0"]} 11 | 12 | setup_kwargs = { 13 | "name": "project-with-extras", 14 | "version": "1.2.3", 15 | "description": "This is a description", 16 | "long_description": None, 17 | "author": "Your Name", 18 | "author_email": "you@example.com", 19 | "url": None, 20 | "packages": packages, 21 | "package_data": package_data, 22 | "extras_require": extras_require, 23 | } 24 | 25 | 26 | setup(**setup_kwargs) 27 | -------------------------------------------------------------------------------- /tests/fixtures/directory/project_with_transitive_file_dependencies/inner-directory-project/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "inner-directory-project" 3 | version = "1.2.4" 4 | description = "This is a description" 5 | authors = ["Your Name "] 6 | license = "MIT" 7 | 8 | [tool.poetry.dependencies] 9 | python = "*" 10 | 11 | [tool.poetry.group.dev.dependencies] 12 | -------------------------------------------------------------------------------- /tests/fixtures/directory/project_with_transitive_file_dependencies/project_with_transitive_file_dependencies/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/directory/project_with_transitive_file_dependencies/project_with_transitive_file_dependencies/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/directory/project_with_transitive_file_dependencies/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "project-with-transitive-file-dependencies" 3 | version = "1.2.3" 4 | description = "This is a description" 5 | authors = ["Your Name "] 6 | license = "MIT" 7 | 8 | [tool.poetry.dependencies] 9 | python = "*" 10 | demo = {path = "../../distributions/demo-0.1.0-py2.py3-none-any.whl"} 11 | inner-directory-project = {path = "./inner-directory-project"} 12 | 13 | [tool.poetry.group.dev.dependencies] 14 | -------------------------------------------------------------------------------- /tests/fixtures/distributions/demo-0.1.0-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/distributions/demo-0.1.0-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/fixtures/distributions/demo-0.1.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/distributions/demo-0.1.0.tar.gz -------------------------------------------------------------------------------- /tests/fixtures/distributions/demo-0.1.2-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/distributions/demo-0.1.2-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/fixtures/distributions/demo_invalid_record-0.1.0-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/distributions/demo_invalid_record-0.1.0-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/fixtures/distributions/demo_invalid_record2-0.1.0-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/distributions/demo_invalid_record2-0.1.0-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/fixtures/distributions/demo_metadata_version_23-0.1.0-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/distributions/demo_metadata_version_23-0.1.0-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/fixtures/distributions/demo_metadata_version_24-0.1.0-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/distributions/demo_metadata_version_24-0.1.0-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/fixtures/distributions/demo_metadata_version_299-0.1.0-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/distributions/demo_metadata_version_299-0.1.0-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/fixtures/distributions/demo_metadata_version_unknown-0.1.0-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/distributions/demo_metadata_version_unknown-0.1.0-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/fixtures/distributions/demo_missing_dist_info-0.1.0-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/distributions/demo_missing_dist_info-0.1.0-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/fixtures/distributions/demo_no_pkg_info-0.1.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/distributions/demo_no_pkg_info-0.1.0.tar.gz -------------------------------------------------------------------------------- /tests/fixtures/excluded_subpackage/README.rst: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/excluded_subpackage/example/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | 4 | __version__ = "0.1.0" 5 | -------------------------------------------------------------------------------- /tests/fixtures/excluded_subpackage/example/test/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/excluded_subpackage/example/test/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/excluded_subpackage/example/test/excluded.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from tests.fixtures.excluded_subpackage.example import __version__ 4 | 5 | 6 | def test_version(): 7 | assert __version__ == "0.1.0" 8 | -------------------------------------------------------------------------------- /tests/fixtures/excluded_subpackage/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "example" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["Sébastien Eustace "] 6 | exclude = [ 7 | "**/test/**/*", 8 | ] 9 | 10 | [tool.poetry.dependencies] 11 | python = "^3.6" 12 | 13 | [tool.poetry.group.dev.dependencies] 14 | pytest = "^3.0" 15 | 16 | [build-system] 17 | requires = ["poetry>=0.12"] 18 | build-backend = "poetry.masonry.api" 19 | -------------------------------------------------------------------------------- /tests/fixtures/extended_project/README.rst: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/extended_project/build.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from pathlib import Path 4 | from typing import Any 5 | 6 | 7 | def build(setup_kwargs: dict[str, Any]): 8 | assert setup_kwargs["name"] == "extended-project" 9 | assert setup_kwargs["version"] == "1.2.3" 10 | 11 | dynamic_module = Path(__file__).parent / "extended_project" / "built.py" 12 | dynamic_module.write_text("# Generated by build.py") 13 | -------------------------------------------------------------------------------- /tests/fixtures/extended_project/extended_project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/extended_project/extended_project/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/extended_project/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "extended-project" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | "Sébastien Eustace " 7 | ] 8 | license = "MIT" 9 | 10 | readme = "README.rst" 11 | 12 | homepage = "https://python-poetry.org" 13 | repository = "https://github.com/python-poetry/poetry" 14 | documentation = "https://python-poetry.org/docs" 15 | 16 | keywords = ["packaging", "dependency", "poetry"] 17 | 18 | classifiers = [ 19 | "Topic :: Software Development :: Build Tools", 20 | "Topic :: Software Development :: Libraries :: Python Modules" 21 | ] 22 | 23 | [tool.poetry.build] 24 | script = "build.py" 25 | generate-setup-file = true 26 | 27 | # Requirements 28 | [tool.poetry.dependencies] 29 | python = "^3.7" 30 | -------------------------------------------------------------------------------- /tests/fixtures/extended_project_without_setup/README.rst: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/extended_project_without_setup/build.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/extended_project_without_setup/build.py -------------------------------------------------------------------------------- /tests/fixtures/extended_project_without_setup/extended_project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/extended_project_without_setup/extended_project/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/extended_with_no_setup/README.md: -------------------------------------------------------------------------------- 1 | Module 1 2 | ======== 3 | -------------------------------------------------------------------------------- /tests/fixtures/extended_with_no_setup/extended/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/extended_with_no_setup/extended/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/extended_with_no_setup/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "extended" 3 | version = "0.1" 4 | description = "Some description." 5 | authors = [ 6 | "Sébastien Eustace " 7 | ] 8 | license = "MIT" 9 | 10 | readme = "README.md" 11 | 12 | homepage = "https://python-poetry.org/" 13 | 14 | include = [ 15 | # C extensions must be included in the wheel distributions 16 | {path = "extended/*.so", format = "wheel"}, 17 | {path = "extended/*.pyd", format = "wheel"}, 18 | ] 19 | 20 | [tool.poetry.build] 21 | script = "build.py" 22 | generate-setup-file = false 23 | 24 | [build-system] 25 | requires = ["poetry-core>=1.5.0", "setuptools>=67.6.1"] 26 | build-backend = "poetry.core.masonry.api" 27 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/demo/demo/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | 4 | __version__ = "1.2.3" 5 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/demo/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "demo" 3 | version = "0.1.2" 4 | description = "Demo package" 5 | authors = ["Poetry Team "] 6 | license = "MIT" 7 | readme = "README.md" 8 | 9 | [tool.poetry.dependencies] 10 | python = "*" 11 | pendulum = ">=1.4.4" 12 | cleo = {version="*", optional = true} 13 | tomlkit = {version="*", optional = true} 14 | 15 | [tool.poetry.extras] 16 | foo = ["cleo"] 17 | bar = ["tomlkit"] 18 | 19 | [build-system] 20 | requires = ["poetry-core"] 21 | build-backend = "poetry.core.masonry.api" 22 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/namespace-package-one/namespace_package/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | 4 | __import__("pkg_resources").declare_namespace(__name__) 5 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/namespace-package-one/namespace_package/one/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | 4 | name = "one" 5 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/namespace-package-one/setup.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from setuptools import find_packages 4 | from setuptools import setup 5 | 6 | 7 | setup( 8 | name="namespace_package_one", 9 | version="1.0.0", 10 | description="", 11 | long_description="", 12 | author="Python Poetry", 13 | author_email="noreply@python-poetry.org", 14 | license="MIT", 15 | packages=find_packages(), 16 | namespace_packages=["namespace_package"], 17 | zip_safe=False, 18 | ) 19 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/no-dependencies/demo/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | 4 | __version__ = "1.2.3" 5 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/no-dependencies/setup.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from setuptools import setup 4 | 5 | 6 | kwargs = dict( 7 | name="demo", 8 | license="MIT", 9 | version="0.1.2", 10 | description="Demo project.", 11 | author="Sébastien Eustace", 12 | author_email="sebastien@eustace.io", 13 | url="https://github.com/demo/demo", 14 | packages=["demo"], 15 | ) 16 | 17 | 18 | setup(**kwargs) 19 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/no-version/demo/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | 4 | __version__ = "1.2.3" 5 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/no-version/setup.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | import ast 4 | import os 5 | 6 | from setuptools import setup 7 | 8 | 9 | def read_version(): 10 | with open(os.path.join(os.path.dirname(__file__), "demo", "__init__.py")) as f: 11 | for line in f: 12 | if line.startswith("__version__ = "): 13 | return ast.literal_eval(line[len("__version__ = ") :].strip()) 14 | 15 | 16 | kwargs = dict( 17 | name="demo", 18 | license="MIT", 19 | version=read_version(), 20 | description="Demo project.", 21 | author="Sébastien Eustace", 22 | author_email="sebastien@eustace.io", 23 | url="https://github.com/demo/demo", 24 | packages=["demo"], 25 | install_requires=["pendulum>=1.4.4"], 26 | extras_require={"foo": ["cleo"]}, 27 | ) 28 | 29 | 30 | setup(**kwargs) 31 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/non-canonical-name/demo/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | 4 | __version__ = "1.2.3" 5 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/non-canonical-name/setup.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from setuptools import setup 4 | 5 | 6 | kwargs = dict( 7 | name="Demo", 8 | license="MIT", 9 | version="0.1.2", 10 | description="Demo project.", 11 | author="Sébastien Eustace", 12 | author_email="sebastien@eustace.io", 13 | url="https://github.com/demo/demo", 14 | packages=["demo"], 15 | install_requires=["pendulum>=1.4.4"], 16 | extras_require={"foo": ["cleo"], "bar": ["tomlkit"]}, 17 | ) 18 | 19 | 20 | setup(**kwargs) 21 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/poetry-plugin/poetry_plugin/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/git/github.com/demo/poetry-plugin/poetry_plugin/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/poetry-plugin/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "poetry-plugin" 3 | version = "0.1.2" 4 | description = "Some description." 5 | authors = [ 6 | "Sébastien Eustace " 7 | ] 8 | license = "MIT" 9 | 10 | [tool.poetry.dependencies] 11 | python = "^3.6" 12 | pendulum = "^2.0" 13 | tomlkit = {version = "^0.7.0", optional = true} 14 | 15 | [tool.poetry.extras] 16 | foo = ["tomlkit"] 17 | 18 | [tool.poetry.group.dev.dependencies] 19 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/poetry-plugin2/subdir/poetry_plugin/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/git/github.com/demo/poetry-plugin2/subdir/poetry_plugin/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/poetry-plugin2/subdir/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "poetry-plugin" 3 | version = "0.1.2" 4 | description = "Some description." 5 | authors = [ 6 | "Sébastien Eustace " 7 | ] 8 | license = "MIT" 9 | 10 | [tool.poetry.dependencies] 11 | python = "^3.6" 12 | pendulum = "^2.0" 13 | tomlkit = {version = "^0.7.0", optional = true} 14 | 15 | [tool.poetry.extras] 16 | foo = ["tomlkit"] 17 | 18 | [tool.poetry.group.dev.dependencies] 19 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/prerelease/prerelease/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/git/github.com/demo/prerelease/prerelease/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/prerelease/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "prerelease" 3 | version = "1.0.0.dev0" 4 | description = "Some description." 5 | authors = [ 6 | "Sébastien Eustace " 7 | ] 8 | license = "MIT" 9 | 10 | # Requirements 11 | [tool.poetry.dependencies] 12 | python = "~2.7 || ^3.4" 13 | 14 | [tool.poetry.group.dev.dependencies] 15 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/pyproject-demo/demo/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/git/github.com/demo/pyproject-demo/demo/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/pyproject-demo/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "demo" 3 | version = "0.1.2" 4 | description = "Some description." 5 | authors = [ 6 | "Sébastien Eustace " 7 | ] 8 | license = "MIT" 9 | 10 | # Requirements 11 | [tool.poetry.dependencies] 12 | python = "~2.7 || ^3.4" 13 | pendulum = '^1.4' 14 | 15 | [tool.poetry.group.dev.dependencies] 16 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/subdirectories/one-copy/one/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/git/github.com/demo/subdirectories/one-copy/one/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/subdirectories/one-copy/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "one" 3 | version = "1.0.0" 4 | description = "Some description." 5 | authors = [] 6 | license = "MIT" 7 | 8 | [tool.poetry.dependencies] 9 | python = "^3.7" 10 | 11 | [build-system] 12 | requires = ["poetry-core>=1.0.0"] 13 | build-backend = "poetry.core.masonry.api" 14 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/subdirectories/one/one/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/git/github.com/demo/subdirectories/one/one/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/subdirectories/one/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "one" 3 | version = "1.0.0" 4 | description = "Some description." 5 | authors = [] 6 | license = "MIT" 7 | 8 | [tool.poetry.dependencies] 9 | python = "^3.7" 10 | 11 | [build-system] 12 | requires = ["poetry-core>=1.0.0"] 13 | build-backend = "poetry.core.masonry.api" 14 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/subdirectories/two/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "two" 3 | version = "2.0.0" 4 | description = "Some description." 5 | authors = [] 6 | license = "MIT" 7 | 8 | [tool.poetry.dependencies] 9 | python = "~2.7 || ^3.4" 10 | 11 | [build-system] 12 | requires = ["poetry-core>=1.0.0"] 13 | build-backend = "poetry.core.masonry.api" 14 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/demo/subdirectories/two/two/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/git/github.com/demo/subdirectories/two/two/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/forked_demo/subdirectories/one-copy/one/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/git/github.com/forked_demo/subdirectories/one-copy/one/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/forked_demo/subdirectories/one-copy/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "one" 3 | version = "1.0.0" 4 | description = "Some description." 5 | authors = [] 6 | license = "MIT" 7 | 8 | [tool.poetry.dependencies] 9 | python = "^3.7" 10 | 11 | [build-system] 12 | requires = ["poetry-core>=1.0.0"] 13 | build-backend = "poetry.core.masonry.api" 14 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/forked_demo/subdirectories/one/one/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/git/github.com/forked_demo/subdirectories/one/one/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/forked_demo/subdirectories/one/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "one" 3 | version = "1.0.0" 4 | description = "Some description." 5 | authors = [] 6 | license = "MIT" 7 | 8 | [tool.poetry.dependencies] 9 | python = "^3.7" 10 | 11 | [build-system] 12 | requires = ["poetry-core>=1.0.0"] 13 | build-backend = "poetry.core.masonry.api" 14 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/forked_demo/subdirectories/two/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "two" 3 | version = "2.0.0" 4 | description = "Some description." 5 | authors = [] 6 | license = "MIT" 7 | 8 | [tool.poetry.dependencies] 9 | python = "~2.7 || ^3.4" 10 | 11 | [build-system] 12 | requires = ["poetry-core>=1.0.0"] 13 | build-backend = "poetry.core.masonry.api" 14 | -------------------------------------------------------------------------------- /tests/fixtures/git/github.com/forked_demo/subdirectories/two/two/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/git/github.com/forked_demo/subdirectories/two/two/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/incompatible_lock/poetry.lock: -------------------------------------------------------------------------------- 1 | [metadata] 2 | lock-version = "999.0" 3 | -------------------------------------------------------------------------------- /tests/fixtures/incompatible_lock/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "foobar" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["Poetry Developer "] 6 | 7 | [tool.poetry.dependencies] 8 | python = "^3.8" 9 | sampleproject = ">=1.3.1" 10 | 11 | [tool.poetry.group.dev.dependencies] 12 | 13 | [build-system] 14 | requires = ["poetry-core>=1.0.0"] 15 | build-backend = "poetry.core.masonry.api" 16 | -------------------------------------------------------------------------------- /tests/fixtures/inspection/demo/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "demo" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["Sébastien Eustace "] 6 | 7 | [tool.poetry.dependencies] 8 | python = "~2.7 || ^3.4" 9 | pendulum = ">=1.4.4" 10 | cleo = {version = "*", optional = true} 11 | tomlkit = {version = "*", optional = true} 12 | 13 | [tool.poetry.extras] 14 | foo = ["cleo"] 15 | bar = ["tomlkit"] 16 | 17 | [tool.poetry.group.dev.dependencies] 18 | pytest = "^3.0" 19 | -------------------------------------------------------------------------------- /tests/fixtures/inspection/demo_no_setup_pkg_info_no_deps/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: demo 3 | Version: 0.1.0 4 | Summary: Demo project. 5 | Home-page: https://github.com/demo/demo 6 | Author: Sébastien Eustace 7 | Author-email: sebastien@eustace.io 8 | License: MIT 9 | Description: UNKNOWN 10 | Platform: UNKNOWN 11 | -------------------------------------------------------------------------------- /tests/fixtures/inspection/demo_no_setup_pkg_info_no_deps/pyproject.toml: -------------------------------------------------------------------------------- 1 | # this was copied over and modified from orjson project's pyproject.toml 2 | # https://github.com/ijl/orjson/blob/master/pyproject.toml 3 | [project] 4 | name = "demo" 5 | repository = "https://github.com/demo/demo" 6 | 7 | [build-system] 8 | build-backend = "maturin" 9 | requires = ["maturin>=0.8.1,<0.9"] 10 | 11 | [tool.maturin] 12 | manylinux = "off" 13 | sdist-include = ["Cargo.lock", "json/**/*"] 14 | strip = "on" 15 | 16 | [tool.black] 17 | line-length = 88 18 | target-version = ['py36', 'py37', 'py38'] 19 | include = '\.pyi?$' 20 | -------------------------------------------------------------------------------- /tests/fixtures/inspection/demo_no_setup_pkg_info_no_deps_dynamic/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.2 2 | Name: demo 3 | Version: 0.1.0 4 | Summary: Demo project. 5 | Home-page: https://github.com/demo/demo 6 | Author: Sébastien Eustace 7 | Author-email: sebastien@eustace.io 8 | License: MIT 9 | Description: UNKNOWN 10 | Platform: UNKNOWN 11 | Dynamic: Requires-Dist 12 | -------------------------------------------------------------------------------- /tests/fixtures/inspection/demo_no_setup_pkg_info_no_deps_dynamic/pyproject.toml: -------------------------------------------------------------------------------- 1 | # this was copied over and modified from orjson project's pyproject.toml 2 | # https://github.com/ijl/orjson/blob/master/pyproject.toml 3 | [project] 4 | name = "demo" 5 | repository = "https://github.com/demo/demo" 6 | 7 | [build-system] 8 | build-backend = "maturin" 9 | requires = ["maturin>=0.8.1,<0.9"] 10 | 11 | [tool.maturin] 12 | manylinux = "off" 13 | sdist-include = ["Cargo.lock", "json/**/*"] 14 | strip = "on" 15 | 16 | [tool.black] 17 | line-length = 88 18 | target-version = ['py36', 'py37', 'py38'] 19 | include = '\.pyi?$' 20 | -------------------------------------------------------------------------------- /tests/fixtures/inspection/demo_no_setup_pkg_info_no_deps_for_sure/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.3 2 | Name: demo 3 | Version: 0.1.0 4 | Summary: Demo project. 5 | Home-page: https://github.com/demo/demo 6 | Author: Sébastien Eustace 7 | Author-email: sebastien@eustace.io 8 | License: MIT 9 | Description: UNKNOWN 10 | Platform: UNKNOWN 11 | -------------------------------------------------------------------------------- /tests/fixtures/inspection/demo_no_setup_pkg_info_no_deps_for_sure/pyproject.toml: -------------------------------------------------------------------------------- 1 | # this was copied over and modified from orjson project's pyproject.toml 2 | # https://github.com/ijl/orjson/blob/master/pyproject.toml 3 | [project] 4 | name = "demo" 5 | repository = "https://github.com/demo/demo" 6 | 7 | [build-system] 8 | build-backend = "maturin" 9 | requires = ["maturin>=0.8.1,<0.9"] 10 | 11 | [tool.maturin] 12 | manylinux = "off" 13 | sdist-include = ["Cargo.lock", "json/**/*"] 14 | strip = "on" 15 | 16 | [tool.black] 17 | line-length = 88 18 | target-version = ['py36', 'py37', 'py38'] 19 | include = '\.pyi?$' 20 | -------------------------------------------------------------------------------- /tests/fixtures/inspection/demo_only_requires_txt.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: demo 3 | Version: 0.1.0 4 | Summary: Demo project. 5 | Home-page: https://github.com/demo/demo 6 | Author: Sébastien Eustace 7 | Author-email: sebastien@eustace.io 8 | License: MIT 9 | Description: UNKNOWN 10 | Platform: UNKNOWN 11 | -------------------------------------------------------------------------------- /tests/fixtures/inspection/demo_only_requires_txt.egg-info/requires.txt: -------------------------------------------------------------------------------- 1 | cleo; extra == "foo" 2 | pendulum (>=1.4.4) 3 | tomlkit; extra == "bar" 4 | -------------------------------------------------------------------------------- /tests/fixtures/inspection/demo_poetry_package/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "demo-poetry" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["John Doe "] 6 | 7 | [tool.poetry.dependencies] 8 | python = "^3.10" 9 | pendulum = "*" 10 | 11 | [tool.poetry.group.dev.dependencies] 12 | 13 | [build-system] 14 | requires = ["poetry-core>=1.0.0"] 15 | build-backend = "poetry.core.masonry.api" 16 | -------------------------------------------------------------------------------- /tests/fixtures/inspection/demo_with_obsolete_egg_info/demo-0.1.0.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: demo 3 | Version: 0.1.0 4 | Summary: Demo project. 5 | Home-page: https://github.com/demo/demo 6 | Author: Sébastien Eustace 7 | Author-email: sebastien@eustace.io 8 | License: MIT 9 | Description: UNKNOWN 10 | Platform: UNKNOWN 11 | -------------------------------------------------------------------------------- /tests/fixtures/inspection/demo_with_obsolete_egg_info/demo-0.1.0.egg-info/requires.txt: -------------------------------------------------------------------------------- 1 | cleo; extra == "foo" 2 | pendulum (>=1.0.0) 3 | tomlkit; extra == "bar" 4 | -------------------------------------------------------------------------------- /tests/fixtures/inspection/demo_with_obsolete_egg_info/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "demo" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["Sébastien Eustace "] 6 | 7 | [tool.poetry.dependencies] 8 | python = "~2.7 || ^3.4" 9 | pendulum = ">=1.4.4" 10 | cleo = {version = "*", optional = true} 11 | tomlkit = {version = "*", optional = true} 12 | 13 | [tool.poetry.extras] 14 | foo = ["cleo"] 15 | bar = ["tomlkit"] 16 | 17 | [tool.poetry.group.dev.dependencies] 18 | pytest = "^3.0" 19 | -------------------------------------------------------------------------------- /tests/fixtures/invalid_lock/poetry.lock: -------------------------------------------------------------------------------- 1 | This lock file is broken! 2 | -------------------------------------------------------------------------------- /tests/fixtures/invalid_lock/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "foobar" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["Poetry Developer "] 6 | 7 | [tool.poetry.dependencies] 8 | python = "^3.8" 9 | sampleproject = ">=1.3.1" 10 | 11 | [tool.poetry.group.dev.dependencies] 12 | 13 | [build-system] 14 | requires = ["poetry-core>=1.0.0"] 15 | build-backend = "poetry.core.masonry.api" 16 | -------------------------------------------------------------------------------- /tests/fixtures/invalid_pyproject_dep_name/pyproject.toml: -------------------------------------------------------------------------------- 1 | [project] 2 | name = "invalid" 3 | version = "1.0.0" 4 | dynamic = ["dependencies"] 5 | 6 | [tool.poetry.dependencies] 7 | invalid = "1.0" 8 | -------------------------------------------------------------------------------- /tests/fixtures/missing_directory_dependency/poetry.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Poetry and should not be changed by hand. 2 | 3 | [[package]] 4 | name = "missing" 5 | version = "1.2.3" 6 | description = "" 7 | optional = false 8 | python-versions = "*" 9 | files = [] 10 | develop = false 11 | 12 | [package.source] 13 | type = "directory" 14 | url = "missing" 15 | 16 | [metadata] 17 | lock-version = "2.0" 18 | python-versions = "*" 19 | content-hash = "bec78476925e4cda6b22e91551ce4337264bdc3394c4f8297ad238f67a436d0e" 20 | -------------------------------------------------------------------------------- /tests/fixtures/missing_directory_dependency/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "project-with-missing-directory-dependency" 3 | version = "1.2.3" 4 | description = "This is a description" 5 | authors = ["Your Name "] 6 | license = "MIT" 7 | packages = [] 8 | 9 | [tool.poetry.dependencies] 10 | python = "*" 11 | 12 | [tool.poetry.group.dev.dependencies] 13 | missing = { path = "./missing" } 14 | -------------------------------------------------------------------------------- /tests/fixtures/missing_extra_directory_dependency/poetry.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. 2 | 3 | [[package]] 4 | name = "missing" 5 | version = "1.2.3" 6 | description = "Some description." 7 | optional = true 8 | python-versions = "*" 9 | files = [] 10 | develop = false 11 | 12 | [package.source] 13 | type = "directory" 14 | url = "missing" 15 | 16 | [extras] 17 | notinstallable = ["missing"] 18 | 19 | [metadata] 20 | lock-version = "2.0" 21 | python-versions = "*" 22 | content-hash = "4f4f0f292967d2df3ec32007be09f917a08730a19378d535cc9463a11dd3df01" 23 | -------------------------------------------------------------------------------- /tests/fixtures/missing_extra_directory_dependency/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "project-with-missing-extra-directory-dependency" 3 | version = "1.2.3" 4 | description = "This is a description" 5 | authors = ["Your Name "] 6 | license = "MIT" 7 | packages = [] 8 | 9 | [tool.poetry.dependencies] 10 | python = "*" 11 | missing = { path = "./missing", optional = true } 12 | 13 | [tool.poetry.extras] 14 | notinstallable = ["missing"] 15 | -------------------------------------------------------------------------------- /tests/fixtures/missing_file_dependency/poetry.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Poetry and should not be changed by hand. 2 | 3 | [[package]] 4 | name = "missing" 5 | version = "1.2.3" 6 | description = "" 7 | optional = false 8 | python-versions = "*" 9 | files = [] 10 | develop = false 11 | 12 | [package.source] 13 | type = "file" 14 | url = "missing-0.1.0-py2.py3-none-any.whl" 15 | 16 | [metadata] 17 | lock-version = "2.0" 18 | python-versions = "*" 19 | content-hash = "bec78476925e4cda6b22e91551ce4337264bdc3394c4f8297ad238f67a436d0e" 20 | -------------------------------------------------------------------------------- /tests/fixtures/missing_file_dependency/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "project-with-missing-directory-dependency" 3 | version = "1.2.3" 4 | description = "This is a description" 5 | authors = ["Your Name "] 6 | license = "MIT" 7 | packages = [] 8 | 9 | [tool.poetry.dependencies] 10 | python = "*" 11 | 12 | [tool.poetry.group.dev.dependencies] 13 | missing = { file = "missing-0.1.0-py2.py3-none-any.whl" } 14 | -------------------------------------------------------------------------------- /tests/fixtures/nameless_pyproject/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | version = "0.1.0" 3 | description = "" 4 | authors = ["Foo "] 5 | readme = "README.md" 6 | 7 | [tool.poetry.dependencies] 8 | python = "^3.10" 9 | -------------------------------------------------------------------------------- /tests/fixtures/no_name_project/README.rst: -------------------------------------------------------------------------------- 1 | No name project 2 | =============== 3 | -------------------------------------------------------------------------------- /tests/fixtures/no_name_project/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | package-mode = false 3 | version = "1.2.3" 4 | description = "This project has no name" 5 | authors = [ 6 | "Sébastien Eustace " 7 | ] 8 | license = "MIT" 9 | 10 | readme = "README.rst" 11 | 12 | 13 | # Requirements 14 | [tool.poetry.dependencies] 15 | python = "~2.7 || ^3.6" 16 | 17 | [tool.poetry.group.dev.dependencies] 18 | pytest = "~3.4" 19 | -------------------------------------------------------------------------------- /tests/fixtures/non_package_mode/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | package-mode = false 3 | 4 | [tool.poetry.dependencies] 5 | python = "^3.8" 6 | cleo = "^0.6" 7 | pendulum = { git = "https://github.com/sdispater/pendulum.git", branch = "2.0" } 8 | -------------------------------------------------------------------------------- /tests/fixtures/old_lock/poetry.lock: -------------------------------------------------------------------------------- 1 | [[package]] 2 | description = "A sample Python project" 3 | name = "sampleproject" 4 | optional = false 5 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" 6 | version = "1.3.1" 7 | 8 | [metadata] 9 | content-hash = "c8c2c9d899e47bac3972e029ef0e71b75d5df98a28eebef25a75640a19aac177" 10 | lock-version = "1.0" 11 | python-versions = "^3.8" 12 | 13 | [metadata.files] 14 | sampleproject = [ 15 | {file = "sampleproject-1.3.1-py2.py3-none-any.whl", hash = "sha256:26c9172e08244873b0e09c574a229bf2c251c67723a05e08fd3ec0c5ee423796"}, 16 | {file = "sampleproject-1.3.1-py3-none-any.whl", hash = "sha256:75bb5bb4e74a1b77dc0cff25ebbacb54fe1318aaf99a86a036cefc86ed885ced"}, 17 | {file = "sampleproject-1.3.1.tar.gz", hash = "sha256:3593ca2f1e057279d70d6144b14472fb28035b1da213dde60906b703d6f82c55"}, 18 | ] 19 | -------------------------------------------------------------------------------- /tests/fixtures/old_lock/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "foobar" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["Poetry Developer "] 6 | 7 | [tool.poetry.dependencies] 8 | python = "^3.8" 9 | sampleproject = ">=1.3.1" 10 | 11 | [tool.poetry.group.dev.dependencies] 12 | 13 | [build-system] 14 | requires = ["poetry-core>=1.0.0"] 15 | build-backend = "poetry.core.masonry.api" 16 | -------------------------------------------------------------------------------- /tests/fixtures/old_lock_path_dependency/poetry.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Poetry and should not be changed by hand. 2 | 3 | [[package]] 4 | name = "quix" 5 | version = "1.2.3" 6 | description = "Some description." 7 | optional = false 8 | python-versions = "~2.7 || ^3.4" 9 | files = [] 10 | develop = true 11 | 12 | [package.source] 13 | type = "directory" 14 | url = "quix" 15 | 16 | [metadata] 17 | lock-version = "2.0" 18 | python-versions = "^3.8" 19 | content-hash = "d2e1cf4390093213432fb8b58f90774a5247bfe860dedc2b023b27accc14cfad" 20 | -------------------------------------------------------------------------------- /tests/fixtures/old_lock_path_dependency/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "foobar" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["Poetry Developer "] 6 | 7 | [tool.poetry.dependencies] 8 | python = "^3.8" 9 | quix = { path = "./quix", develop = true} 10 | 11 | [tool.poetry.group.dev.dependencies] 12 | 13 | [build-system] 14 | requires = ["poetry-core>=1.0.0"] 15 | build-backend = "poetry.core.masonry.api" 16 | -------------------------------------------------------------------------------- /tests/fixtures/old_lock_path_dependency/quix/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "quix" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = ["Poetry Maintainer "] 6 | license = "MIT" 7 | 8 | # Requirements 9 | [tool.poetry.dependencies] 10 | python = "~2.7 || ^3.4" 11 | sampleproject = ">=1.3.1" 12 | -------------------------------------------------------------------------------- /tests/fixtures/outdated_lock/pyproject.toml: -------------------------------------------------------------------------------- 1 | [project] 2 | name = "foobar" 3 | version = "0.1.0" 4 | requires-python = ">=3.8,<4.0" 5 | dependencies = [ 6 | "docker>=4.3.1", 7 | ] 8 | 9 | [build-system] 10 | requires = ["poetry-core>=1.0.0"] 11 | build-backend = "poetry.core.masonry.api" 12 | -------------------------------------------------------------------------------- /tests/fixtures/private_pyproject/pyproject.toml: -------------------------------------------------------------------------------- 1 | [project] 2 | name = "private" 3 | version = "0.1.0" 4 | requires-python = ">=3.7,<4.0" 5 | classifiers = [ 6 | "Private :: Do Not Upload", 7 | ] 8 | 9 | [build-system] 10 | requires = ["poetry-core"] 11 | build-backend = "poetry.core.masonry.api" 12 | -------------------------------------------------------------------------------- /tests/fixtures/project_plugins/my_application_plugin-1.0.dist-info/METADATA: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: my-application-plugin 3 | Version: 1.0 4 | Summary: description 5 | Requires-Python: >=3.8,<4.0 6 | Requires-Dist: poetry (>=1.8.0,<3.0.0) 7 | Requires-Dist: some-lib (>=1.7.0,<3.0.0) 8 | -------------------------------------------------------------------------------- /tests/fixtures/project_plugins/my_application_plugin-1.0.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [poetry.application.plugin] 2 | my-command=my_application_plugin.plugins:MyApplicationPlugin 3 | -------------------------------------------------------------------------------- /tests/fixtures/project_plugins/my_application_plugin-2.0.dist-info/METADATA: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: my-application-plugin 3 | Version: 2.0 4 | Summary: description 5 | Requires-Python: >=3.8,<4.0 6 | Requires-Dist: poetry (>=1.8.0,<3.0.0) 7 | Requires-Dist: some-lib (>=1.7.0,<3.0.0) 8 | -------------------------------------------------------------------------------- /tests/fixtures/project_plugins/my_application_plugin-2.0.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [poetry.application.plugin] 2 | my-command=my_application_plugin.plugins:MyApplicationPlugin 3 | -------------------------------------------------------------------------------- /tests/fixtures/project_plugins/my_other_plugin-1.0.dist-info/METADATA: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: my-other-plugin 3 | Version: 1.0 4 | Summary: description 5 | Requires-Python: >=3.8,<4.0 6 | Requires-Dist: poetry (>=1.8.0,<3.0.0) 7 | Requires-Dist: some-lib (>=1.7.0,<3.0.0) 8 | -------------------------------------------------------------------------------- /tests/fixtures/project_plugins/my_other_plugin-1.0.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [poetry.plugin] 2 | other-plugin=my_application_plugin.plugins:MyOtherPlugin 3 | -------------------------------------------------------------------------------- /tests/fixtures/project_plugins/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | package-mode = false 3 | 4 | [tool.poetry.requires-plugins] 5 | my-application-plugin = ">=2.0" 6 | my-other-plugin = ">=1.0" 7 | -------------------------------------------------------------------------------- /tests/fixtures/project_plugins/some_lib-1.0.dist-info/METADATA: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: some-lib 3 | Version: 1.0 4 | Summary: description 5 | Requires-Python: >=3.8,<4.0 6 | -------------------------------------------------------------------------------- /tests/fixtures/project_plugins/some_lib-2.0.dist-info/METADATA: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: some-lib 3 | Version: 2.0 4 | Summary: description 5 | Requires-Python: >=3.8,<4.0 6 | -------------------------------------------------------------------------------- /tests/fixtures/project_with_extras/project_with_extras/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/project_with_extras/project_with_extras/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/project_with_extras/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "project-with-extras" 3 | version = "1.2.3" 4 | description = "This is a description" 5 | authors = ["Your Name "] 6 | license = "MIT" 7 | 8 | [tool.poetry.dependencies] 9 | python = "*" 10 | pendulum = { version = ">=1.4.4", optional = true } 11 | cachy = { version = ">=0.2.0", optional = true } 12 | 13 | [tool.poetry.extras] 14 | extras_a = [ "pendulum" ] 15 | extras_b = [ "cachy" ] 16 | -------------------------------------------------------------------------------- /tests/fixtures/project_with_multi_constraints_dependency/project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/project_with_multi_constraints_dependency/project/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/project_with_multi_constraints_dependency/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "project-with-multi-constraints-dependency" 3 | version = "1.2.3" 4 | description = "This is a description" 5 | authors = ["Your Name "] 6 | license = "MIT" 7 | 8 | packages = [ 9 | {include = "project"} 10 | ] 11 | 12 | [tool.poetry.dependencies] 13 | python = "*" 14 | pendulum = [ 15 | { version = "^1.5", python = "<3.4" }, 16 | { version = "^2.0", python = "^3.4" } 17 | ] 18 | 19 | [tool.poetry.group.dev.dependencies] 20 | -------------------------------------------------------------------------------- /tests/fixtures/project_with_nested_local/bar/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "bar" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = ["Poetry Maintainer "] 6 | license = "MIT" 7 | 8 | # Requirements 9 | [tool.poetry.dependencies] 10 | python = "~2.7 || ^3.4" 11 | quix = { path = "../quix", develop = true } 12 | -------------------------------------------------------------------------------- /tests/fixtures/project_with_nested_local/foo/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "foo" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = ["Poetry Maintainer "] 6 | license = "MIT" 7 | 8 | # Requirements 9 | [tool.poetry.dependencies] 10 | python = "~2.7 || ^3.4" 11 | bar = { path = "../bar", develop = true } 12 | -------------------------------------------------------------------------------- /tests/fixtures/project_with_nested_local/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "project-with-nested-local" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = ["Poetry Maintainer "] 6 | license = "MIT" 7 | 8 | # Requirements 9 | [tool.poetry.dependencies] 10 | python = "~2.7 || ^3.4" 11 | foo = { path = "./foo", develop = true } 12 | bar = { path = "./bar", develop = true } 13 | -------------------------------------------------------------------------------- /tests/fixtures/project_with_nested_local/quix/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "quix" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = ["Poetry Maintainer "] 6 | license = "MIT" 7 | 8 | # Requirements 9 | [tool.poetry.dependencies] 10 | python = "~2.7 || ^3.4" 11 | -------------------------------------------------------------------------------- /tests/fixtures/project_with_setup/my_package/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/project_with_setup/my_package/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/project_with_setup/setup.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from setuptools import setup 4 | 5 | 6 | kwargs = dict( 7 | name="project-with-setup", 8 | license="MIT", 9 | version="0.1.2", 10 | description="Demo project.", 11 | author="Sébastien Eustace", 12 | author_email="sebastien@eustace.io", 13 | url="https://github.com/demo/demo", 14 | packages=["my_package"], 15 | install_requires=["pendulum>=1.4.4", "cachy[msgpack]>=0.2.0"], 16 | ) 17 | 18 | 19 | setup(**kwargs) 20 | -------------------------------------------------------------------------------- /tests/fixtures/project_with_setup_calls_script/my_package/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/project_with_setup_calls_script/my_package/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/project_with_setup_calls_script/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["setuptools", ""] 3 | build-backend = "setuptools.build_meta:__legacy__" 4 | -------------------------------------------------------------------------------- /tests/fixtures/project_with_setup_calls_script/setup.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | import subprocess 4 | 5 | from setuptools import setup 6 | 7 | if subprocess.call(["exit-code"]) != 42: 8 | raise RuntimeError("Wrong exit code.") 9 | 10 | kwargs = dict( 11 | name="project-with-setup-calls-script", 12 | license="MIT", 13 | version="0.1.2", 14 | description="Demo project.", 15 | author="Sébastien Eustace", 16 | author_email="sebastien@eustace.io", 17 | url="https://github.com/demo/demo", 18 | packages=["my_package"], 19 | install_requires=["pendulum>=1.4.4", "cachy[msgpack]>=0.2.0"], 20 | ) 21 | 22 | 23 | setup(**kwargs) 24 | -------------------------------------------------------------------------------- /tests/fixtures/pypi_reference/pyproject.toml: -------------------------------------------------------------------------------- 1 | [project] 2 | name = "foobar" 3 | version = "0.1.0" 4 | description = "" 5 | authors = [ 6 | { name = "Poetry Developer", email = "" } 7 | ] 8 | dynamic = ["dependencies", "requires-python"] 9 | 10 | [tool.poetry.dependencies] 11 | python = "^3.8" 12 | docker = { version = ">=4.3.1", source = "PyPI" } 13 | 14 | [build-system] 15 | requires = ["poetry-core>=1.0.0"] 16 | build-backend = "poetry.core.masonry.api" 17 | -------------------------------------------------------------------------------- /tests/fixtures/sample_project/README.rst: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/scripts/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/scripts/README.md -------------------------------------------------------------------------------- /tests/fixtures/scripts/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "scripts" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["Your Name "] 6 | readme = "README.md" 7 | 8 | [tool.poetry.dependencies] 9 | python = "^3.7" 10 | 11 | [tool.poetry.scripts] 12 | check-argv0 = "scripts.check_argv0:main" 13 | exit-code = "scripts.exit_code:main" 14 | return-code = "scripts.return_code:main" 15 | 16 | [build-system] 17 | requires = ["poetry-core"] 18 | build-backend = "poetry.core.masonry.api" 19 | -------------------------------------------------------------------------------- /tests/fixtures/scripts/scripts/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/scripts/scripts/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/scripts/scripts/check_argv0.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | import sys 4 | 5 | from pathlib import Path 6 | 7 | 8 | def main() -> int: 9 | path = Path(sys.argv[0]) 10 | if sys.argv[1] == "absolute": 11 | if not path.is_absolute(): 12 | raise RuntimeError(f"sys.argv[0] is not an absolute path: {path}") 13 | if not path.exists(): 14 | raise RuntimeError(f"sys.argv[0] does not exist: {path}") 15 | else: 16 | if path.is_absolute(): 17 | raise RuntimeError(f"sys.argv[0] is an absolute path: {path}") 18 | 19 | return 0 20 | 21 | 22 | if __name__ == "__main__": 23 | raise sys.exit(main()) 24 | -------------------------------------------------------------------------------- /tests/fixtures/scripts/scripts/exit_code.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | 4 | def main() -> None: 5 | raise SystemExit(42) 6 | 7 | 8 | if __name__ == "__main__": 9 | main() 10 | -------------------------------------------------------------------------------- /tests/fixtures/scripts/scripts/return_code.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | 4 | def main() -> int: 5 | return 42 6 | 7 | 8 | if __name__ == "__main__": 9 | raise SystemExit(main()) 10 | -------------------------------------------------------------------------------- /tests/fixtures/self_version_not_ok/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | package-mode = false 3 | requires-poetry = "<1.2" 4 | 5 | [tool.poetry.dependencies] 6 | python = "^3.8" 7 | -------------------------------------------------------------------------------- /tests/fixtures/self_version_ok/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | package-mode = false 3 | requires-poetry = ">=1.2" 4 | 5 | [tool.poetry.dependencies] 6 | python = "^3.8" 7 | -------------------------------------------------------------------------------- /tests/fixtures/simple_project/README.rst: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/simple_project/dist/simple_project-1.2.3-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/simple_project/dist/simple_project-1.2.3-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/fixtures/simple_project/dist/simple_project-1.2.3.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/simple_project/dist/simple_project-1.2.3.tar.gz -------------------------------------------------------------------------------- /tests/fixtures/simple_project/simple_project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/simple_project/simple_project/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/simple_project_legacy/README.rst: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/simple_project_legacy/simple_project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/simple_project_legacy/simple_project/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/up_to_date_lock/pyproject.toml: -------------------------------------------------------------------------------- 1 | [project] 2 | name = "foobar" 3 | version = "0.1.0" 4 | requires-python = ">=3.8,<4.0" 5 | dependencies = [ 6 | "docker>=4.3.1", 7 | ] 8 | 9 | [build-system] 10 | requires = ["poetry-core>=1.0.0"] 11 | build-backend = "poetry.core.masonry.api" 12 | -------------------------------------------------------------------------------- /tests/fixtures/up_to_date_lock_non_package/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | package-mode = false 3 | 4 | [tool.poetry.dependencies] 5 | python = "^3.8" 6 | docker = ">=4.3.1" 7 | 8 | [build-system] 9 | requires = ["poetry-core>=1.0.0"] 10 | build-backend = "poetry.core.masonry.api" 11 | -------------------------------------------------------------------------------- /tests/fixtures/wheel_with_no_requires_dist/demo-0.1.0-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/wheel_with_no_requires_dist/demo-0.1.0-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/fixtures/with-include/README.rst: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/with-include/extra_dir/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/with-include/extra_dir/README.md -------------------------------------------------------------------------------- /tests/fixtures/with-include/extra_dir/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/with-include/extra_dir/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/with-include/extra_dir/sub_pkg/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/with-include/extra_dir/sub_pkg/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/with-include/extra_dir/sub_pkg/vcs_excluded.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/with-include/extra_dir/sub_pkg/vcs_excluded.txt -------------------------------------------------------------------------------- /tests/fixtures/with-include/extra_dir/vcs_excluded.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/with-include/extra_dir/vcs_excluded.txt -------------------------------------------------------------------------------- /tests/fixtures/with-include/for_wheel_only/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/with-include/for_wheel_only/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/with-include/my_module.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/with-include/my_module.py -------------------------------------------------------------------------------- /tests/fixtures/with-include/notes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/with-include/notes.txt -------------------------------------------------------------------------------- /tests/fixtures/with-include/package_with_include/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | 4 | __version__ = "1.2.3" 5 | -------------------------------------------------------------------------------- /tests/fixtures/with-include/src/src_package/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/with-include/src/src_package/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/with-include/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/with-include/tests/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/with_conditional_path_deps/demo_one/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "demo" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [] 6 | license = "MIT" 7 | 8 | [tool.poetry.dependencies] 9 | python = "^3.7" 10 | -------------------------------------------------------------------------------- /tests/fixtures/with_conditional_path_deps/demo_two/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "demo" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [] 6 | license = "MIT" 7 | 8 | [tool.poetry.dependencies] 9 | python = "^3.7" 10 | -------------------------------------------------------------------------------- /tests/fixtures/with_conditional_path_deps/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "sample" 3 | version = "1.0.0" 4 | description = "Sample Project" 5 | authors = [] 6 | license = "MIT" 7 | 8 | [tool.poetry.dependencies] 9 | python = "^3.7" 10 | demo = [ 11 | { path = "demo_one", platform = "linux" }, 12 | { path = "demo_two", platform = "win32" }, 13 | ] 14 | -------------------------------------------------------------------------------- /tests/fixtures/with_explicit_pypi_and_other/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "my-package" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | "Your Name " 7 | ] 8 | license = "MIT" 9 | 10 | # Requirements 11 | [tool.poetry.dependencies] 12 | python = "^3.6" 13 | 14 | [tool.poetry.group.dev.dependencies] 15 | 16 | [[tool.poetry.source]] 17 | name = "foo" 18 | url = "https://foo.bar/simple/" 19 | 20 | [[tool.poetry.source]] 21 | name = "PyPI" 22 | priority = "explicit" 23 | -------------------------------------------------------------------------------- /tests/fixtures/with_explicit_pypi_and_other_explicit/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "my-package" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | "Your Name " 7 | ] 8 | license = "MIT" 9 | 10 | # Requirements 11 | [tool.poetry.dependencies] 12 | python = "^3.6" 13 | 14 | [tool.poetry.group.dev.dependencies] 15 | 16 | [[tool.poetry.source]] 17 | name = "explicit" 18 | url = "https://explicit.com/simple/" 19 | priority = "explicit" 20 | 21 | [[tool.poetry.source]] 22 | name = "PyPI" 23 | priority = "explicit" 24 | -------------------------------------------------------------------------------- /tests/fixtures/with_explicit_pypi_no_other/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "my-package" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | "Your Name " 7 | ] 8 | license = "MIT" 9 | 10 | # Requirements 11 | [tool.poetry.dependencies] 12 | python = "^3.6" 13 | 14 | [tool.poetry.group.dev.dependencies] 15 | 16 | [[tool.poetry.source]] 17 | name = "PyPI" 18 | priority = "explicit" 19 | -------------------------------------------------------------------------------- /tests/fixtures/with_explicit_source/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "with-explicit-source" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | "Your Name " 7 | ] 8 | license = "MIT" 9 | 10 | # Requirements 11 | [tool.poetry.dependencies] 12 | python = "^3.6" 13 | 14 | [tool.poetry.group.dev.dependencies] 15 | 16 | [[tool.poetry.source]] 17 | name = "explicit" 18 | url = "https://explicit.com/simple/" 19 | priority = "explicit" 20 | -------------------------------------------------------------------------------- /tests/fixtures/with_local_config/README.rst: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/with_local_config/poetry.toml: -------------------------------------------------------------------------------- 1 | [virtualenvs] 2 | in-project = false 3 | create = false 4 | -------------------------------------------------------------------------------- /tests/fixtures/with_multiple_dist_dir/README.rst: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/with_multiple_dist_dir/dist/simple_project-1.2.3-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/with_multiple_dist_dir/dist/simple_project-1.2.3-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/fixtures/with_multiple_dist_dir/dist/simple_project-1.2.3.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/with_multiple_dist_dir/dist/simple_project-1.2.3.tar.gz -------------------------------------------------------------------------------- /tests/fixtures/with_multiple_dist_dir/other_dist/dist/simple_project-1.2.3-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/with_multiple_dist_dir/other_dist/dist/simple_project-1.2.3-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/fixtures/with_multiple_dist_dir/other_dist/dist/simple_project-1.2.3.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/with_multiple_dist_dir/other_dist/dist/simple_project-1.2.3.tar.gz -------------------------------------------------------------------------------- /tests/fixtures/with_multiple_dist_dir/simple_project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/fixtures/with_multiple_dist_dir/simple_project/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/with_multiple_readme_files/README-1.rst: -------------------------------------------------------------------------------- 1 | Single Python 2 | ============= 3 | -------------------------------------------------------------------------------- /tests/fixtures/with_multiple_readme_files/README-2.rst: -------------------------------------------------------------------------------- 1 | Changelog 2 | ========= 3 | -------------------------------------------------------------------------------- /tests/fixtures/with_multiple_readme_files/my_package/__init__.py: -------------------------------------------------------------------------------- 1 | """Example module""" 2 | 3 | from __future__ import annotations 4 | 5 | 6 | __version__ = "0.1" 7 | -------------------------------------------------------------------------------- /tests/fixtures/with_multiple_readme_files/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "my-package" 3 | version = "0.1" 4 | description = "Some description." 5 | authors = [ 6 | "Your Name " 7 | ] 8 | license = "MIT" 9 | 10 | readme = [ 11 | "README-1.rst", 12 | "README-2.rst" 13 | ] 14 | 15 | homepage = "https://python-poetry.org" 16 | 17 | 18 | [tool.poetry.dependencies] 19 | python = "^3.7" 20 | 21 | [build-system] 22 | requires = ["poetry-core"] 23 | build-backend = "poetry.core.masonry.api" 24 | -------------------------------------------------------------------------------- /tests/fixtures/with_multiple_sources/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "my-package" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | "Your Name " 7 | ] 8 | license = "MIT" 9 | 10 | # Requirements 11 | [tool.poetry.dependencies] 12 | python = "^3.6" 13 | 14 | [tool.poetry.group.dev.dependencies] 15 | 16 | [[tool.poetry.source]] 17 | name = "foo" 18 | url = "https://foo.bar/simple/" 19 | priority = "supplemental" 20 | 21 | [[tool.poetry.source]] 22 | name = "bar" 23 | url = "https://bar.baz/simple/" 24 | -------------------------------------------------------------------------------- /tests/fixtures/with_multiple_sources_pypi/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "my-package" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | "Your Name " 7 | ] 8 | license = "MIT" 9 | 10 | # Requirements 11 | [tool.poetry.dependencies] 12 | python = "^3.6" 13 | 14 | [tool.poetry.group.dev.dependencies] 15 | 16 | [[tool.poetry.source]] 17 | name = "foo" 18 | url = "https://foo.bar/simple/" 19 | priority = "supplemental" 20 | 21 | [[tool.poetry.source]] 22 | name = "bar" 23 | url = "https://bar.baz/simple/" 24 | 25 | [[tool.poetry.source]] 26 | name = "PyPI" 27 | 28 | [[tool.poetry.source]] 29 | name = "baz" 30 | url = "https://baz.bar/simple/" 31 | -------------------------------------------------------------------------------- /tests/fixtures/with_multiple_supplemental_sources/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "my-package" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | "Your Name " 7 | ] 8 | license = "MIT" 9 | 10 | # Requirements 11 | [tool.poetry.dependencies] 12 | python = "^3.6" 13 | 14 | [tool.poetry.group.dev.dependencies] 15 | 16 | [[tool.poetry.source]] 17 | name = "foo" 18 | url = "https://foo.bar/simple/" 19 | priority = "supplemental" 20 | 21 | [[tool.poetry.source]] 22 | name = "bar" 23 | url = "https://bar.baz/simple/" 24 | priority = "supplemental" 25 | -------------------------------------------------------------------------------- /tests/fixtures/with_path_dependency/bazz/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "bazz" 3 | version = "1" 4 | description = "Demo package" 5 | authors = ["Poetry Team "] 6 | license = "MIT" 7 | readme = "README.md" 8 | packages = [ 9 | { include = "demo", from = "src" } 10 | ] 11 | 12 | [tool.poetry.dependencies] 13 | python = "*" 14 | requests = "~=2.25.1" 15 | 16 | [build-system] 17 | requires = ["poetry-core"] 18 | build-backend = "poetry.core.masonry.api" 19 | -------------------------------------------------------------------------------- /tests/fixtures/with_path_dependency/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "foobar" 3 | version = "0.1.0" 4 | description = "" 5 | authors = [] 6 | readme = "README.md" 7 | packages = [{include = "foobar"}] 8 | 9 | [tool.poetry.dependencies] 10 | python = "^3.9" 11 | bazz = { path = "./bazz", develop = true } 12 | 13 | [build-system] 14 | requires = ["poetry-core"] 15 | build-backend = "poetry.core.masonry.api" 16 | -------------------------------------------------------------------------------- /tests/fixtures/with_primary_source_explicit/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "my-package" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | "Your Name " 7 | ] 8 | license = "MIT" 9 | 10 | # Requirements 11 | [tool.poetry.dependencies] 12 | python = "^3.6" 13 | 14 | [tool.poetry.group.dev.dependencies] 15 | 16 | [[tool.poetry.source]] 17 | name = "foo" 18 | url = "https://foo.bar/simple/" 19 | priority = "primary" 20 | -------------------------------------------------------------------------------- /tests/fixtures/with_primary_source_implicit/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "my-package" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | "Your Name " 7 | ] 8 | license = "MIT" 9 | 10 | # Requirements 11 | [tool.poetry.dependencies] 12 | python = "^3.6" 13 | 14 | [tool.poetry.group.dev.dependencies] 15 | 16 | [[tool.poetry.source]] 17 | name = "foo" 18 | url = "https://foo.bar/simple/" 19 | -------------------------------------------------------------------------------- /tests/fixtures/with_source/README.rst: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/fixtures/with_supplemental_source/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "with-explicit-source" 3 | version = "1.2.3" 4 | description = "Some description." 5 | authors = [ 6 | "Your Name " 7 | ] 8 | license = "MIT" 9 | 10 | # Requirements 11 | [tool.poetry.dependencies] 12 | python = "^3.6" 13 | 14 | [tool.poetry.group.dev.dependencies] 15 | 16 | [[tool.poetry.source]] 17 | name = "supplemental" 18 | url = "https://supplemental.com/simple/" 19 | priority = "supplemental" 20 | -------------------------------------------------------------------------------- /tests/inspection/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/inspection/__init__.py -------------------------------------------------------------------------------- /tests/installation/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/installation/__init__.py -------------------------------------------------------------------------------- /tests/installation/fixtures/extras.test: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "A" 3 | version = "1.0" 4 | description = "" 5 | optional = false 6 | python-versions = "*" 7 | groups = ["main"] 8 | files = [] 9 | 10 | [[package]] 11 | name = "B" 12 | version = "1.0" 13 | description = "" 14 | optional = false 15 | python-versions = "*" 16 | groups = ["main"] 17 | files = [] 18 | 19 | [[package]] 20 | name = "C" 21 | version = "1.0" 22 | description = "" 23 | optional = false 24 | python-versions = "*" 25 | groups = ["main"] 26 | files = [] 27 | 28 | [[package]] 29 | name = "D" 30 | version = "1.1" 31 | description = "" 32 | optional = true 33 | python-versions = "*" 34 | groups = ["main"] 35 | files = [] 36 | 37 | [extras] 38 | foo = ["D"] 39 | 40 | [metadata] 41 | python-versions = "*" 42 | lock-version = "2.1" 43 | content-hash = "123456789" 44 | -------------------------------------------------------------------------------- /tests/installation/fixtures/install-no-dev.test: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "A" 3 | version = "1.0" 4 | description = "" 5 | optional = false 6 | python-versions = "*" 7 | groups = ["main"] 8 | files = [] 9 | 10 | [[package]] 11 | name = "B" 12 | version = "1.1" 13 | description = "" 14 | optional = false 15 | python-versions = "*" 16 | groups = ["main"] 17 | files = [] 18 | 19 | [[package]] 20 | name = "C" 21 | version = "1.2" 22 | description = "" 23 | optional = false 24 | python-versions = "*" 25 | groups = ["main"] 26 | files = [] 27 | 28 | [metadata] 29 | python-versions = "*" 30 | lock-version = "2.1" 31 | content-hash = "123456789" 32 | -------------------------------------------------------------------------------- /tests/installation/fixtures/no-dependencies.test: -------------------------------------------------------------------------------- 1 | package = [] 2 | 3 | [metadata] 4 | python-versions = "*" 5 | lock-version = "2.1" 6 | content-hash = "123456789" 7 | -------------------------------------------------------------------------------- /tests/installation/fixtures/remove.test: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "A" 3 | version = "1.0" 4 | description = "" 5 | optional = false 6 | python-versions = "*" 7 | groups = ["main"] 8 | files = [] 9 | 10 | [metadata] 11 | python-versions = "*" 12 | lock-version = "2.1" 13 | content-hash = "123456789" 14 | -------------------------------------------------------------------------------- /tests/installation/fixtures/update-with-lock.test: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "A" 3 | version = "1.1" 4 | description = "" 5 | optional = false 6 | python-versions = "*" 7 | groups = ["main"] 8 | files = [] 9 | 10 | [metadata] 11 | python-versions = "*" 12 | lock-version = "2.1" 13 | content-hash = "123456789" 14 | -------------------------------------------------------------------------------- /tests/installation/fixtures/with-conditional-dependency.test: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "A" 3 | version = "1.0.0" 4 | description = "" 5 | optional = false 6 | python-versions = ">=3.5" 7 | groups = ["main"] 8 | markers = 'python_version >= "3.5"' 9 | files = [] 10 | 11 | [metadata] 12 | python-versions = "~2.7 || ^3.4" 13 | lock-version = "2.1" 14 | content-hash = "123456789" 15 | -------------------------------------------------------------------------------- /tests/installation/fixtures/with-conflicting-dependency-extras-root.test: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "conflicting-dep" 3 | version = "1.1.0" 4 | description = "" 5 | optional = true 6 | python-versions = "*" 7 | files = [ ] 8 | groups = [ "main" ] 9 | markers = "extra == \"extra-one\" and extra != \"extra-two\"" 10 | 11 | [[package]] 12 | name = "conflicting-dep" 13 | version = "1.2.0" 14 | description = "" 15 | optional = true 16 | python-versions = "*" 17 | files = [ ] 18 | groups = [ "main" ] 19 | markers = "extra != \"extra-one\" and extra == \"extra-two\"" 20 | 21 | [extras] 22 | extra-one = [ "conflicting-dep", "conflicting-dep" ] 23 | extra-two = [ "conflicting-dep", "conflicting-dep" ] 24 | 25 | [metadata] 26 | lock-version = "2.1" 27 | python-versions = "*" 28 | content-hash = "123456789" 29 | -------------------------------------------------------------------------------- /tests/installation/fixtures/with-dependencies-extras.test: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "A" 3 | version = "1.0" 4 | description = "" 5 | optional = false 6 | python-versions = "*" 7 | groups = ["main"] 8 | files = [] 9 | 10 | [[package]] 11 | name = "B" 12 | version = "1.0" 13 | description = "" 14 | optional = false 15 | python-versions = "*" 16 | groups = ["main"] 17 | files = [] 18 | 19 | [package.dependencies] 20 | C = {version = "^1.0", optional = true} 21 | 22 | [package.extras] 23 | foo = ["C (>=1.0,<2.0)"] 24 | 25 | [[package]] 26 | name = "C" 27 | version = "1.0" 28 | description = "" 29 | optional = false 30 | python-versions = "*" 31 | groups = ["main"] 32 | files = [] 33 | 34 | [metadata] 35 | python-versions = "*" 36 | lock-version = "2.1" 37 | content-hash = "123456789" 38 | -------------------------------------------------------------------------------- /tests/installation/fixtures/with-dependencies.test: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "A" 3 | version = "1.0" 4 | description = "" 5 | optional = false 6 | python-versions = "*" 7 | groups = ["main"] 8 | files = [] 9 | 10 | [[package]] 11 | name = "B" 12 | version = "1.1" 13 | description = "" 14 | optional = false 15 | python-versions = "*" 16 | groups = ["main"] 17 | files = [] 18 | 19 | [metadata] 20 | python-versions = "*" 21 | lock-version = "2.1" 22 | content-hash = "123456789" 23 | -------------------------------------------------------------------------------- /tests/installation/fixtures/with-directory-dependency-poetry.test: -------------------------------------------------------------------------------- 1 | [[package]] 2 | description = "" 3 | name = "pendulum" 4 | optional = false 5 | python-versions = "*" 6 | groups = ["main"] 7 | files = [] 8 | version = "1.4.4" 9 | 10 | [[package]] 11 | description = "This is a description" 12 | develop = false 13 | name = "project-with-extras" 14 | optional = false 15 | python-versions = "*" 16 | groups = ["main"] 17 | files = [] 18 | version = "1.2.3" 19 | 20 | [package.dependencies] 21 | pendulum = {version = ">=1.4.4", optional = true} 22 | 23 | [package.extras] 24 | extras-a = ["pendulum (>=1.4.4)"] 25 | extras-b = ["cachy (>=0.2.0)"] 26 | 27 | [package.source] 28 | type = "directory" 29 | url = "tests/fixtures/project_with_extras" 30 | 31 | [metadata] 32 | content-hash = "123456789" 33 | lock-version = "2.1" 34 | python-versions = "*" 35 | -------------------------------------------------------------------------------- /tests/installation/fixtures/with-directory-dependency-setuptools.test: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "cachy" 3 | version = "0.2.0" 4 | description = "" 5 | optional = false 6 | python-versions = "*" 7 | groups = ["main"] 8 | files = [] 9 | 10 | [[package]] 11 | name = "pendulum" 12 | version = "1.4.4" 13 | description = "" 14 | optional = false 15 | python-versions = "*" 16 | groups = ["main"] 17 | files = [] 18 | 19 | [[package]] 20 | name = "project-with-setup" 21 | version = "0.1.2" 22 | develop = false 23 | description = "Demo project." 24 | optional = false 25 | python-versions = "*" 26 | groups = ["main"] 27 | files = [] 28 | 29 | [package.source] 30 | type = "directory" 31 | url = "project" 32 | 33 | [package.dependencies] 34 | cachy = {version = ">=0.2.0", extras = ["msgpack"]} 35 | pendulum = ">=1.4.4" 36 | 37 | [metadata] 38 | python-versions = "*" 39 | lock-version = "2.1" 40 | content-hash = "123456789" 41 | -------------------------------------------------------------------------------- /tests/installation/fixtures/with-duplicate-dependencies-update.test: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "A" 3 | version = "1.1" 4 | description = "" 5 | optional = false 6 | python-versions = "*" 7 | groups = ["main"] 8 | files = [] 9 | 10 | [package.dependencies] 11 | B = "^2.0" 12 | 13 | [[package]] 14 | name = "B" 15 | version = "2.0" 16 | description = "" 17 | optional = false 18 | python-versions = "*" 19 | groups = ["main"] 20 | files = [] 21 | 22 | [package.dependencies] 23 | C = "1.5" 24 | 25 | [[package]] 26 | name = "C" 27 | version = "1.5" 28 | description = "" 29 | optional = false 30 | python-versions = "*" 31 | groups = ["main"] 32 | files = [] 33 | 34 | [metadata] 35 | python-versions = "*" 36 | lock-version = "2.1" 37 | content-hash = "123456789" 38 | -------------------------------------------------------------------------------- /tests/installation/fixtures/with-optional-dependencies.test: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "A" 3 | version = "1.0" 4 | description = "" 5 | optional = true 6 | python-versions = "*" 7 | groups = ["main"] 8 | markers = 'extra == "foo"' 9 | files = [] 10 | 11 | [[package]] 12 | name = "C" 13 | version = "1.3" 14 | description = "" 15 | optional = false 16 | python-versions = "*" 17 | groups = ["main"] 18 | files = [] 19 | 20 | [package.dependencies] 21 | D = "^1.2" 22 | 23 | [[package]] 24 | name = "D" 25 | version = "1.4" 26 | description = "" 27 | optional = false 28 | python-versions = "*" 29 | groups = ["main"] 30 | files = [] 31 | 32 | [extras] 33 | foo = ["A"] 34 | 35 | [metadata] 36 | python-versions = "~2.7 || ^3.4" 37 | lock-version = "2.1" 38 | content-hash = "123456789" 39 | -------------------------------------------------------------------------------- /tests/installation/fixtures/with-prereleases.test: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "A" 3 | version = "1.0a2" 4 | description = "" 5 | optional = false 6 | python-versions = "*" 7 | groups = ["main"] 8 | files = [] 9 | 10 | [[package]] 11 | name = "B" 12 | version = "1.1" 13 | description = "" 14 | optional = false 15 | python-versions = "*" 16 | groups = ["main"] 17 | files = [] 18 | 19 | [metadata] 20 | python-versions = "*" 21 | lock-version = "2.1" 22 | content-hash = "123456789" 23 | -------------------------------------------------------------------------------- /tests/installation/fixtures/with-python-versions.test: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "A" 3 | version = "1.0" 4 | description = "" 5 | optional = false 6 | python-versions = "*" 7 | groups = ["main"] 8 | files = [] 9 | 10 | [[package]] 11 | name = "B" 12 | version = "1.1" 13 | description = "" 14 | optional = false 15 | python-versions = "*" 16 | groups = ["main"] 17 | files = [] 18 | 19 | [[package]] 20 | name = "C" 21 | version = "1.2" 22 | description = "" 23 | optional = false 24 | python-versions = "~2.7 || ^3.3" 25 | groups = ["main"] 26 | files = [] 27 | 28 | [metadata] 29 | python-versions = "~2.7 || ^3.4" 30 | lock-version = "2.1" 31 | content-hash = "123456789" 32 | -------------------------------------------------------------------------------- /tests/installation/fixtures/with-self-referencing-extras-top.test: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Poetry 2.0.1 and should not be changed by hand. 2 | 3 | [[package]] 4 | name = "A" 5 | version = "1.0" 6 | description = "" 7 | optional = false 8 | python-versions = "*" 9 | groups = ["main"] 10 | files = [] 11 | 12 | [package.extras] 13 | all = ["a[download,install]"] 14 | download = ["download-package (>=1.0,<2.0)"] 15 | install = ["install-package (>=1.0,<2.0)"] 16 | nested = ["a[all]"] 17 | py = ["a[py310,py38]"] 18 | py310 = ["py310-package (>=1.0,<2.0) ; python_version > \"3.8\""] 19 | py38 = ["py38-package (>=1.0,<2.0) ; python_version == \"3.8\""] 20 | 21 | [metadata] 22 | lock-version = "2.1" 23 | python-versions = "*" 24 | content-hash = "123456789" 25 | -------------------------------------------------------------------------------- /tests/installation/fixtures/with-sub-dependencies.test: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "A" 3 | version = "1.0" 4 | description = "" 5 | optional = false 6 | python-versions = "*" 7 | groups = ["main"] 8 | files = [] 9 | 10 | [package.dependencies] 11 | D = "^1.0" 12 | 13 | [[package]] 14 | name = "B" 15 | version = "1.1" 16 | description = "" 17 | optional = false 18 | python-versions = "*" 19 | groups = ["main"] 20 | files = [] 21 | 22 | [package.dependencies] 23 | C = "~1.2" 24 | 25 | [[package]] 26 | name = "C" 27 | version = "1.2" 28 | description = "" 29 | optional = false 30 | python-versions = "*" 31 | groups = ["main"] 32 | files = [] 33 | 34 | [[package]] 35 | name = "D" 36 | version = "1.3" 37 | description = "" 38 | optional = false 39 | python-versions = "*" 40 | groups = ["main"] 41 | files = [] 42 | 43 | [metadata] 44 | python-versions = "*" 45 | lock-version = "2.1" 46 | content-hash = "123456789" 47 | -------------------------------------------------------------------------------- /tests/installation/fixtures/with-vcs-dependency-without-ref.test: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "demo" 3 | version = "0.1.2" 4 | description = "" 5 | optional = false 6 | python-versions = "*" 7 | groups = ["main"] 8 | files = [] 9 | develop = false 10 | 11 | [package.dependencies] 12 | pendulum = ">=1.4.4" 13 | 14 | [package.source] 15 | type = "git" 16 | url = "https://github.com/demo/demo.git" 17 | reference = "HEAD" 18 | resolved_reference = "123456" 19 | 20 | [[package]] 21 | name = "pendulum" 22 | version = "1.4.4" 23 | description = "" 24 | optional = false 25 | python-versions = "*" 26 | groups = ["main"] 27 | files = [] 28 | 29 | [metadata] 30 | python-versions = "*" 31 | lock-version = "2.1" 32 | content-hash = "123456789" 33 | -------------------------------------------------------------------------------- /tests/installation/fixtures/with-wheel-dependency-no-requires-dist.test: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "demo" 3 | version = "0.1.0" 4 | description = "" 5 | optional = false 6 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 7 | groups = ["main"] 8 | 9 | [[package.files]] 10 | file = "demo-0.1.0-py2.py3-none-any.whl" 11 | hash = "sha256:c25eb81459126848a1788eb3520d1a32014eb51ce3d3bae88c56bfdde4ce02db" 12 | 13 | [package.source] 14 | type = "file" 15 | url = "tests/fixtures/wheel_with_no_requires_dist/demo-0.1.0-py2.py3-none-any.whl" 16 | 17 | [metadata] 18 | python-versions = "*" 19 | lock-version = "2.1" 20 | content-hash = "123456789" 21 | -------------------------------------------------------------------------------- /tests/integration/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/integration/__init__.py -------------------------------------------------------------------------------- /tests/integration/conftest.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from typing import TYPE_CHECKING 4 | 5 | import pytest 6 | 7 | 8 | if TYPE_CHECKING: 9 | import httpretty 10 | 11 | 12 | @pytest.fixture(autouse=True) 13 | def disable_httpretty(http: type[httpretty.httpretty]) -> None: 14 | http.disable() 15 | -------------------------------------------------------------------------------- /tests/json/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/json/__init__.py -------------------------------------------------------------------------------- /tests/json/fixtures/self_invalid_plugin.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "foobar" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["Your Name "] 6 | 7 | [tool.poetry.requires-plugins] 8 | foo = 5 9 | -------------------------------------------------------------------------------- /tests/json/fixtures/self_invalid_version.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "foobar" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["Your Name "] 6 | requires-poetry = 2 7 | -------------------------------------------------------------------------------- /tests/json/fixtures/self_valid.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "foobar" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["Your Name "] 6 | requires-poetry = ">=2.0" 7 | 8 | [tool.poetry.requires-plugins] 9 | foo = ">=1.0" 10 | -------------------------------------------------------------------------------- /tests/json/fixtures/source/complete_invalid_priority.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "foobar" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["Your Name "] 6 | 7 | [tool.poetry.dependencies] 8 | python = "^3.10" 9 | 10 | [[tool.poetry.source]] 11 | name = "pypi-simple" 12 | url = "https://pypi.org/simple/" 13 | priority = "arbitrary" 14 | 15 | [build-system] 16 | requires = ["poetry-core"] 17 | build-backend = "poetry.core.masonry.api" 18 | -------------------------------------------------------------------------------- /tests/json/fixtures/source/complete_invalid_url.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "foobar" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["Your Name "] 6 | 7 | [tool.poetry.dependencies] 8 | python = "^3.10" 9 | 10 | [[tool.poetry.source]] 11 | name = "pypi-simple" 12 | 13 | [build-system] 14 | requires = ["poetry-core"] 15 | build-backend = "poetry.core.masonry.api" 16 | -------------------------------------------------------------------------------- /tests/json/fixtures/source/complete_valid.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "foobar" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["Your Name "] 6 | 7 | [tool.poetry.dependencies] 8 | python = "^3.10" 9 | 10 | [[tool.poetry.source]] 11 | name = "pypi-simple" 12 | url = "https://pypi.org/simple/" 13 | priority = "explicit" 14 | 15 | [build-system] 16 | requires = ["poetry-core"] 17 | build-backend = "poetry.core.masonry.api" 18 | -------------------------------------------------------------------------------- /tests/json/test_schema_sources.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/json/test_schema_sources.py -------------------------------------------------------------------------------- /tests/masonry/builders/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/masonry/builders/__init__.py -------------------------------------------------------------------------------- /tests/masonry/builders/fixtures/excluded_subpackage/README.rst: -------------------------------------------------------------------------------- 1 | My Package 2 | ========== 3 | -------------------------------------------------------------------------------- /tests/masonry/builders/fixtures/excluded_subpackage/example/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | 4 | __version__ = "0.1.0" 5 | -------------------------------------------------------------------------------- /tests/masonry/builders/fixtures/excluded_subpackage/example/test/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/masonry/builders/fixtures/excluded_subpackage/example/test/__init__.py -------------------------------------------------------------------------------- /tests/masonry/builders/fixtures/excluded_subpackage/example/test/excluded.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from tests.masonry.builders.fixtures.excluded_subpackage.example import __version__ 4 | 5 | 6 | def test_version(): 7 | assert __version__ == "0.1.0" 8 | -------------------------------------------------------------------------------- /tests/masonry/builders/fixtures/excluded_subpackage/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "example" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["Sébastien Eustace "] 6 | exclude = [ 7 | "**/test/**/*", 8 | ] 9 | 10 | [tool.poetry.dependencies] 11 | python = "^3.6" 12 | 13 | [tool.poetry.group.dev.dependencies] 14 | pytest = "^3.0" 15 | 16 | [build-system] 17 | requires = ["poetry>=0.12"] 18 | build-backend = "poetry.masonry.api" 19 | -------------------------------------------------------------------------------- /tests/mixology/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/mixology/__init__.py -------------------------------------------------------------------------------- /tests/mixology/version_solver/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | import pytest 4 | 5 | 6 | pytest.register_assert_rewrite("tests.mixology.helpers") 7 | -------------------------------------------------------------------------------- /tests/packages/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/packages/__init__.py -------------------------------------------------------------------------------- /tests/plugins/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/plugins/__init__.py -------------------------------------------------------------------------------- /tests/publishing/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/publishing/__init__.py -------------------------------------------------------------------------------- /tests/puzzle/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/puzzle/__init__.py -------------------------------------------------------------------------------- /tests/pyproject/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/pyproject/__init__.py -------------------------------------------------------------------------------- /tests/pyproject/test_pyproject_toml_file.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from typing import TYPE_CHECKING 4 | 5 | import pytest 6 | 7 | from poetry.core.exceptions import PoetryCoreError 8 | 9 | from poetry.toml import TOMLFile 10 | 11 | 12 | if TYPE_CHECKING: 13 | from pathlib import Path 14 | 15 | 16 | def test_pyproject_toml_file_invalid(pyproject_toml: Path) -> None: 17 | with pyproject_toml.open(mode="a", encoding="utf-8") as f: 18 | f.write("<<<<<<<<<<<") 19 | 20 | with pytest.raises(PoetryCoreError) as excval: 21 | _ = TOMLFile(pyproject_toml).read() 22 | 23 | assert f"Invalid TOML file {pyproject_toml.as_posix()}" in str(excval.value) 24 | -------------------------------------------------------------------------------- /tests/repositories/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/__init__.py -------------------------------------------------------------------------------- /tests/repositories/conftest.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from typing import TYPE_CHECKING 4 | 5 | import pytest 6 | 7 | 8 | if TYPE_CHECKING: 9 | from tests.types import HTMLPageGetter 10 | 11 | 12 | @pytest.fixture 13 | def html_page_content() -> HTMLPageGetter: 14 | def _fixture(content: str, base_url: str | None = None) -> str: 15 | base = f' 18 | 19 | 20 | {base} 21 | 22 | Links for demo 23 | 24 | 25 |

Links for demo

26 | {content} 27 | 28 | 29 | """ 30 | 31 | return _fixture 32 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | 4 | pytest_plugins = [ 5 | "tests.repositories.fixtures.distribution_hashes", 6 | "tests.repositories.fixtures.legacy", 7 | "tests.repositories.fixtures.pypi", 8 | "tests.repositories.fixtures.python_hosted", 9 | ] 10 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/directory_pep_610-1.2.3.dist-info/METADATA: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: directory-pep-610 3 | Version: 1.2.3 4 | Summary: Foo 5 | License: MIT 6 | Requires-Python: >=3.6 7 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/directory_pep_610-1.2.3.dist-info/direct_url.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "file:///path/to/distributions/directory-pep-610", 3 | "dir_info": {} 4 | } 5 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/editable-2.3.4.dist-info/METADATA: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: editable 3 | Version: 2.3.4 4 | Summary: Editable description. 5 | License: MIT 6 | Keywords: cli,commands 7 | Author: Foo Bar 8 | Author-email: foo@bar.com 9 | Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* 10 | Classifier: License :: OSI Approved :: MIT License 11 | Classifier: Programming Language :: Python :: 2 12 | Classifier: Programming Language :: Python :: 2.7 13 | Classifier: Programming Language :: Python :: 3 14 | Classifier: Programming Language :: Python :: 3.4 15 | Classifier: Programming Language :: Python :: 3.5 16 | Classifier: Programming Language :: Python :: 3.6 17 | Classifier: Programming Language :: Python :: 3.7 18 | Classifier: Programming Language :: Python :: 3.8 19 | Description-Content-Type: text/x-rst 20 | 21 | Editable 22 | #### 23 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/editable-src-dir.pth: -------------------------------------------------------------------------------- 1 | /path/to/editable/src 2 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/editable-with-import.pth: -------------------------------------------------------------------------------- 1 | import os 2 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/editable.pth: -------------------------------------------------------------------------------- 1 | /path/to/editable 2 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/editable_directory_pep_610-1.2.3.dist-info/METADATA: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: editable-directory-pep-610 3 | Version: 1.2.3 4 | Summary: Foo 5 | License: MIT 6 | Requires-Python: >=3.6 7 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/editable_directory_pep_610-1.2.3.dist-info/direct_url.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "file:///path/to/distributions/directory-pep-610", 3 | "dir_info": { 4 | "editable": true 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/file_pep_610-1.2.3.dist-info/METADATA: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: file-pep-610 3 | Version: 1.2.3 4 | Summary: Foo 5 | License: MIT 6 | Requires-Python: >=3.6 7 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/file_pep_610-1.2.3.dist-info/direct_url.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "file:///path/to/distributions/file-pep-610-1.2.3.tar.gz", 3 | "archive_info": { 4 | "hash": "sha256=2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/foo-0.1.0-py3.8.egg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/installed/lib/python3.7/site-packages/foo-0.1.0-py3.8.egg -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/git_pep_610-1.2.3.dist-info/METADATA: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: git-pep-610 3 | Version: 1.2.3 4 | Summary: Foo 5 | License: MIT 6 | Requires-Python: >=3.6 7 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/git_pep_610-1.2.3.dist-info/direct_url.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "https://github.com/demo/git-pep-610.git", 3 | "vcs_info": { 4 | "vcs": "git", 5 | "requested_revision": "my-branch", 6 | "commit_id": "123456" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/git_pep_610_no_requested_version-1.2.3.dist-info/METADATA: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: git-pep-610-no-requested-version 3 | Version: 1.2.3 4 | Summary: Foo 5 | License: MIT 6 | Requires-Python: >=3.6 7 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/git_pep_610_no_requested_version-1.2.3.dist-info/direct_url.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "https://github.com/demo/git-pep-610-no-requested-version.git", 3 | "vcs_info": { 4 | "vcs": "git", 5 | "commit_id": "123456" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/git_pep_610_subdirectory-1.2.3.dist-info/METADATA: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: git-pep-610-subdirectory 3 | Version: 1.2.3 4 | Summary: Foo 5 | License: MIT 6 | Requires-Python: >=3.6 7 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/git_pep_610_subdirectory-1.2.3.dist-info/direct_url.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "https://github.com/demo/git-pep-610-subdirectory.git", 3 | "vcs_info": { 4 | "vcs": "git", 5 | "requested_revision": "my-branch", 6 | "commit_id": "123456" 7 | }, 8 | "subdirectory": "subdir" 9 | } 10 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/standard-1.2.3.dist-info/METADATA: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: standard 3 | Version: 1.2.3 4 | Summary: Standard description. 5 | License: MIT 6 | Keywords: cli,commands 7 | Author: Foo Bar 8 | Author-email: foo@bar.com 9 | Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* 10 | Classifier: License :: OSI Approved :: MIT License 11 | Classifier: Programming Language :: Python :: 2 12 | Classifier: Programming Language :: Python :: 2.7 13 | Classifier: Programming Language :: Python :: 3 14 | Classifier: Programming Language :: Python :: 3.4 15 | Classifier: Programming Language :: Python :: 3.5 16 | Classifier: Programming Language :: Python :: 3.6 17 | Classifier: Programming Language :: Python :: 3.7 18 | Classifier: Programming Language :: Python :: 3.8 19 | Description-Content-Type: text/x-rst 20 | 21 | Editable 22 | #### 23 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/standard.pth: -------------------------------------------------------------------------------- 1 | standard 2 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/url_pep_610-1.2.3.dist-info/METADATA: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: url-pep-610 3 | Version: 1.2.3 4 | Summary: Foo 5 | License: MIT 6 | Requires-Python: >=3.6 7 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib/python3.7/site-packages/url_pep_610-1.2.3.dist-info/direct_url.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "https://mock.pythonhosted.org/distributions/url-pep-610-1.2.3.tar.gz", 3 | "archive_info": {} 4 | } 5 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib64/python3.7/site-packages/bender-2.0.5.dist-info/METADATA: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: bender 3 | Version: 2.0.5 4 | Summary: Python datetimes made easy 5 | License: MIT 6 | Keywords: cli,commands 7 | Author: Leela 8 | Author-email: leela@planetexpress.com 9 | Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* 10 | Classifier: License :: OSI Approved :: MIT License 11 | Classifier: Programming Language :: Python :: 2 12 | Classifier: Programming Language :: Python :: 2.7 13 | Classifier: Programming Language :: Python :: 3 14 | Classifier: Programming Language :: Python :: 3.4 15 | Classifier: Programming Language :: Python :: 3.5 16 | Classifier: Programming Language :: Python :: 3.6 17 | Classifier: Programming Language :: Python :: 3.7 18 | Classifier: Programming Language :: Python :: 3.8 19 | Description-Content-Type: text/x-rst 20 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib64/python3.7/site-packages/bender.pth: -------------------------------------------------------------------------------- 1 | ../../../src/bender 2 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/lib64/python3.7/site-packages/lib64-2.3.4.dist-info/METADATA: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: lib64 3 | Version: 2.3.4 4 | Summary: lib64 description. 5 | License: MIT 6 | Keywords: cli,commands 7 | Author: Foo Bar 8 | Author-email: foo@bar.com 9 | Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* 10 | Classifier: License :: OSI Approved :: MIT License 11 | Classifier: Programming Language :: Python :: 2 12 | Classifier: Programming Language :: Python :: 2.7 13 | Classifier: Programming Language :: Python :: 3 14 | Classifier: Programming Language :: Python :: 3.4 15 | Classifier: Programming Language :: Python :: 3.5 16 | Classifier: Programming Language :: Python :: 3.6 17 | Classifier: Programming Language :: Python :: 3.7 18 | Classifier: Programming Language :: Python :: 3.8 19 | Description-Content-Type: text/x-rst 20 | 21 | lib64 22 | #### 23 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/src/bender/bender.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: bender 3 | Version: 2.0.5 4 | Summary: Python datetimes made easy 5 | License: MIT 6 | Keywords: cli,commands 7 | Author: Leela 8 | Author-email: leela@planetexpress.com 9 | Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* 10 | Classifier: License :: OSI Approved :: MIT License 11 | Classifier: Programming Language :: Python :: 2 12 | Classifier: Programming Language :: Python :: 2.7 13 | Classifier: Programming Language :: Python :: 3 14 | Classifier: Programming Language :: Python :: 3.4 15 | Classifier: Programming Language :: Python :: 3.5 16 | Classifier: Programming Language :: Python :: 3.6 17 | Classifier: Programming Language :: Python :: 3.7 18 | Classifier: Programming Language :: Python :: 3.8 19 | Description-Content-Type: text/x-rst 20 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/installed/src/pendulum/pendulum.egg-info/requires.txt: -------------------------------------------------------------------------------- 1 | python-dateutil<3.0,>=2.6 2 | pytzdata>=2018.3 3 | 4 | [:python_version < "3.5"] 5 | typing<4.0,>=3.6 6 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/legacy/absolute.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Links for poetry 5 | 6 | 7 |

Links for poetry

8 | poetry-0.1.0-py3-none-any.whl
9 | poetry-0.1.0.tar.gz
10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/legacy/black.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Links for black 5 | 6 |

Links for black

7 | black-19.10b0-py36-none-any.whl 8 | black-21.11b0-py3-none-any.whl 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/legacy/demo.html: -------------------------------------------------------------------------------- 1 | 2 | Simple Index 3 | 4 | demo-0.1.0.tar.gz
5 | 6 | 7 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/legacy/discord-py.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Links for discord-py 5 | 6 |

Links for discord-py

7 | discord.py-2.0.0-py3-none-any.whl
8 | discord.py-2.0.0.tar.gz
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/legacy/futures-partial-yank.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Links for futures 5 | 6 | 7 |

Links for futures

8 | futures-3.2.0-py2-none-any.whl
9 | futures-3.2.0.tar.gz
10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/legacy/futures.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Links for futures 5 | 6 | 7 |

Links for futures

8 | futures-3.2.0-py2-none-any.whl
9 | futures-3.2.0.tar.gz
10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/legacy/invalid-version.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Links for poetry 5 | 6 | 7 |

Links for poetry

8 | poetry-21.07.28.5ffb65e2ff8067c732e2b178d03b707c7fb27855-py3-none-any.whl
9 | poetry-0.1.0-py3-none-any.whl
10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/legacy/isort-metadata.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Links for isort 5 | 6 | 7 |

Links for isort

8 | isort-metadata-4.3.4-py3-none-any.whl
10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/legacy/jupyter.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Links for jupyter 5 | 6 | 7 |

Links for jupyter

8 | jupyter-1.0.0.tar.gz
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/legacy/missing-version.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Links for poetry 5 | 6 | 7 |

Links for poetry

8 | poetry-0.1.0-py3-none-any.whl
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/legacy/pastel.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Links for pastel 5 | 6 | 7 |

Links for pastel

8 | pastel-0.1.0.tar.gz
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/legacy/poetry-test-py2-py3-metadata-merge.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Links for poetry-test-py2-py3-metadata-merge 5 | 6 | 7 |

Links for ipython

8 | poetry_test_py2_py3_metadata_merge-0.1.0-py2-none-any.whl
9 | poetry_test_py2_py3_metadata_merge-0.1.0-py3-none-any.whl
10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/legacy/pytest.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Links for pytest 5 | 6 | 7 |

Links for pytest

pytest-3.5.0-py2.py3-none-any.whl
8 | pytest-3.5.0.tar.gz
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/legacy/python-language-server.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Links for python-language-server 5 | 6 | 7 |

Links for python-language-server

8 | python-language-server-0.21.2.tar.gz
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/legacy/relative.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Links for poetry 5 | 6 | 7 |

Links for poetry

8 | poetry-0.1.0-py3-none-any.whl
9 | poetry-0.1.0.tar.gz
10 | poetry-0.1.1.tar.bz
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/legacy/sqlalchemy-legacy.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Links for sqlalchemy-legacy 5 | 6 | 7 |

Links for sqlalchemy-legacy

8 | sqlalchemy-legacy-4.3.4-py2-none-any.whl
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/legacy/tomlkit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Links for tomlkit 5 | 6 | 7 |

Links for tomlkit

8 | tomlkit-0.5.2.tar.gz
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/dists/mocked/poetry_test_py2_py3_metadata_merge-0.1.0-py2-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/dists/mocked/poetry_test_py2_py3_metadata_merge-0.1.0-py2-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/dists/mocked/poetry_test_py2_py3_metadata_merge-0.1.0-py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/dists/mocked/poetry_test_py2_py3_metadata_merge-0.1.0-py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/dists/mocked/six_unknown_version-1.11.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/dists/mocked/six_unknown_version-1.11.0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/dists/poetry_core-1.5.0-py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/dists/poetry_core-1.5.0-py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/dists/poetry_core-2.0.1-py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/dists/poetry_core-2.0.1-py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/dists/setuptools-67.6.1-py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/dists/setuptools-67.6.1-py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/dists/wheel-0.40.0-py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/dists/wheel-0.40.0-py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/metadata/cleo-1.0.0a5-py3-none-any.whl.metadata: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: cleo 3 | Version: 1.0.0a5 4 | Summary: Cleo allows you to create beautiful and testable command-line interfaces. 5 | Home-page: https://github.com/python-poetry/cleo 6 | License: MIT 7 | Keywords: cli,commands 8 | Author: Sébastien Eustace 9 | Author-email: sebastien@eustace.io 10 | Requires-Python: >=3.7,<4.0 11 | Classifier: License :: OSI Approved :: MIT License 12 | Classifier: Programming Language :: Python :: 3 13 | Classifier: Programming Language :: Python :: 3.7 14 | Classifier: Programming Language :: Python :: 3.8 15 | Classifier: Programming Language :: Python :: 3.9 16 | Classifier: Programming Language :: Python :: 3.10 17 | Requires-Dist: crashtest (>=0.3.1,<0.4.0) 18 | Requires-Dist: pylev (>=1.3.0,<2.0.0) 19 | Description-Content-Type: text/markdown 20 | 21 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/metadata/filecache-0.81-py3-none-any.whl.metadata: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: filecache 3 | Version: 0.81 4 | Summary: Persistent caching decorator 5 | Home-page: https://github.com/ubershmekel/filecache 6 | Author: ubershmekel 7 | Author-email: ubershmekel@gmail.com 8 | License: UNKNOWN 9 | Platform: UNKNOWN 10 | Classifier: Development Status :: 4 - Beta 11 | Classifier: Intended Audience :: Developers 12 | Classifier: License :: OSI Approved :: BSD License 13 | Classifier: Operating System :: OS Independent 14 | Classifier: Programming Language :: Python :: 2 15 | Classifier: Programming Language :: Python :: 3 16 | Classifier: Topic :: Utilities 17 | Classifier: Topic :: Software Development :: Libraries :: Python Modules 18 | Description-Content-Type: text/markdown 19 | 20 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/metadata/futures-3.2.0-py2-none-any.whl.metadata: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.0 2 | Name: futures 3 | Version: 3.2.0 4 | Summary: Backport of the concurrent.futures package from Python 3 5 | Home-page: https://github.com/agronholm/pythonfutures 6 | Author: Alex Grönholm 7 | Author-email: alex.gronholm@nextday.fi 8 | License: PSF 9 | Platform: UNKNOWN 10 | Classifier: License :: OSI Approved :: Python Software Foundation License 11 | Classifier: Development Status :: 5 - Production/Stable 12 | Classifier: Intended Audience :: Developers 13 | Classifier: Programming Language :: Python :: 2.6 14 | Classifier: Programming Language :: Python :: 2.7 15 | Classifier: Programming Language :: Python :: 2 :: Only 16 | Requires-Python: >=2.6, <3 17 | 18 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/metadata/pylev-1.3.0-py2.py3-none-any.whl.metadata: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.0 2 | Name: pylev 3 | Version: 1.3.0 4 | Summary: A pure Python Levenshtein implementation that's not freaking GPL'd. 5 | Home-page: http://github.com/toastdriven/pylev 6 | Author: Daniel Lindsley 7 | Author-email: daniel@toastdriven.com 8 | License: UNKNOWN 9 | Platform: UNKNOWN 10 | Classifier: Development Status :: 5 - Production/Stable 11 | Classifier: Intended Audience :: Developers 12 | Classifier: License :: OSI Approved :: BSD License 13 | Classifier: Operating System :: OS Independent 14 | Classifier: Programming Language :: Python 15 | Classifier: Programming Language :: Python :: 3 16 | 17 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/metadata/six-1.11.0-py2.py3-none-any.whl.metadata: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.0 2 | Name: six 3 | Version: 1.11.0 4 | Summary: Python 2 and 3 compatibility utilities 5 | Home-page: http://pypi.python.org/pypi/six/ 6 | Author: Benjamin Peterson 7 | Author-email: benjamin@python.org 8 | License: MIT 9 | Platform: UNKNOWN 10 | Classifier: Programming Language :: Python :: 2 11 | Classifier: Programming Language :: Python :: 3 12 | Classifier: Intended Audience :: Developers 13 | Classifier: License :: OSI Approved :: MIT License 14 | Classifier: Topic :: Software Development :: Libraries 15 | Classifier: Topic :: Utilities 16 | 17 | -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/SQLAlchemy-1.2.12.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/SQLAlchemy-1.2.12.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/Twisted-18.9.0.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/Twisted-18.9.0.tar.bz2 -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/attrs-17.4.0-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/attrs-17.4.0-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/attrs-17.4.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/attrs-17.4.0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/black-19.10b0-py36-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/black-19.10b0-py36-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/black-19.10b0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/black-19.10b0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/black-21.11b0-py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/black-21.11b0-py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/black-21.11b0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/black-21.11b0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/cleo-1.0.0a5-py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/cleo-1.0.0a5-py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/cleo-1.0.0a5.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/cleo-1.0.0a5.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/clikit-0.2.4-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/clikit-0.2.4-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/clikit-0.2.4.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/clikit-0.2.4.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/colorama-0.3.9-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/colorama-0.3.9-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/colorama-0.3.9.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/colorama-0.3.9.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/discord.py-2.0.0-py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/discord.py-2.0.0-py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/discord.py-2.0.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/discord.py-2.0.0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/futures-3.2.0-py2-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/futures-3.2.0-py2-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/futures-3.2.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/futures-3.2.0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/hbmqtt-0.9.6.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/hbmqtt-0.9.6.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/ipython-5.7.0-py2-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/ipython-5.7.0-py2-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/ipython-5.7.0-py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/ipython-5.7.0-py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/ipython-5.7.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/ipython-5.7.0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/ipython-7.5.0-py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/ipython-7.5.0-py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/ipython-7.5.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/ipython-7.5.0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/isodate-0.7.0-py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/isodate-0.7.0-py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/isodate-0.7.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/isodate-0.7.0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/isort-4.3.4-py2-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/isort-4.3.4-py2-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/isort-4.3.4-py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/isort-4.3.4-py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/isort-4.3.4.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/isort-4.3.4.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/jupyter-1.0.0-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/jupyter-1.0.0-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/jupyter-1.0.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/jupyter-1.0.0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/jupyter-1.0.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/jupyter-1.0.0.zip -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/more-itertools-4.1.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/more-itertools-4.1.0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/more_itertools-4.1.0-py2-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/more_itertools-4.1.0-py2-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/more_itertools-4.1.0-py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/more_itertools-4.1.0-py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/pastel-0.1.0-py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/pastel-0.1.0-py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/pastel-0.1.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/pastel-0.1.0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/pluggy-0.6.0-py2-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/pluggy-0.6.0-py2-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/pluggy-0.6.0-py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/pluggy-0.6.0-py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/pluggy-0.6.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/pluggy-0.6.0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/poetry_core-1.5.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/poetry_core-1.5.0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/poetry_core-2.0.1.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/poetry_core-2.0.1.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/py-1.5.3-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/py-1.5.3-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/py-1.5.3.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/py-1.5.3.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/pytest-3.5.0-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/pytest-3.5.0-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/pytest-3.5.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/pytest-3.5.0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/pytest-3.5.1-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/pytest-3.5.1-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/pytest-3.5.1.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/pytest-3.5.1.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/python-language-server-0.21.2.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/python-language-server-0.21.2.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/requests-2.18.4-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/requests-2.18.4-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/requests-2.18.4.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/requests-2.18.4.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/setuptools-67.6.1.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/setuptools-67.6.1.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/six-1.11.0-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/six-1.11.0-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/six-1.11.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/six-1.11.0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/tomlkit-0.5.2-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/tomlkit-0.5.2-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/tomlkit-0.5.2.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/tomlkit-0.5.2.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/tomlkit-0.5.3-py2.py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/tomlkit-0.5.3-py2.py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/tomlkit-0.5.3.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/tomlkit-0.5.3.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/wheel-0.40.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/wheel-0.40.0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/zipp-3.5.0-py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/zipp-3.5.0-py3-none-any.whl -------------------------------------------------------------------------------- /tests/repositories/fixtures/pypi.org/stubbed/zipp-3.5.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/fixtures/pypi.org/stubbed/zipp-3.5.0.tar.gz -------------------------------------------------------------------------------- /tests/repositories/link_sources/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/link_sources/__init__.py -------------------------------------------------------------------------------- /tests/repositories/parsers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/repositories/parsers/__init__.py -------------------------------------------------------------------------------- /tests/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/utils/__init__.py -------------------------------------------------------------------------------- /tests/utils/conftest.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from typing import TYPE_CHECKING 4 | 5 | import pytest 6 | 7 | 8 | if TYPE_CHECKING: 9 | from poetry.poetry import Poetry 10 | from poetry.utils.env import EnvManager 11 | 12 | 13 | @pytest.fixture 14 | def venv_name( 15 | manager: EnvManager, 16 | poetry: Poetry, 17 | ) -> str: 18 | return manager.generate_env_name( 19 | poetry.package.name, 20 | str(poetry.file.path.parent), 21 | ) 22 | -------------------------------------------------------------------------------- /tests/utils/env/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/utils/env/__init__.py -------------------------------------------------------------------------------- /tests/utils/env/conftest.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from typing import TYPE_CHECKING 4 | 5 | import pytest 6 | 7 | from poetry.utils.env import EnvManager 8 | 9 | 10 | if TYPE_CHECKING: 11 | from poetry.poetry import Poetry 12 | from tests.types import FixtureDirGetter 13 | from tests.types import ProjectFactory 14 | 15 | 16 | @pytest.fixture 17 | def poetry(project_factory: ProjectFactory, fixture_dir: FixtureDirGetter) -> Poetry: 18 | return project_factory("simple", source=fixture_dir("simple_project")) 19 | 20 | 21 | @pytest.fixture 22 | def manager(poetry: Poetry) -> EnvManager: 23 | return EnvManager(poetry) 24 | -------------------------------------------------------------------------------- /tests/utils/env/python/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/python-poetry/poetry/d8ef1d1b163ab29b2754859b7b7076e294b90fe0/tests/utils/env/python/__init__.py -------------------------------------------------------------------------------- /tests/utils/env/test_system_env.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | import sys 4 | 5 | from pathlib import Path 6 | from typing import TYPE_CHECKING 7 | 8 | from poetry.utils.env import SystemEnv 9 | 10 | 11 | if TYPE_CHECKING: 12 | from pytest_mock import MockerFixture 13 | 14 | 15 | def test_get_marker_env_untagged_cpython(mocker: MockerFixture) -> None: 16 | mocker.patch("platform.python_version", return_value="3.11.9+") 17 | env = SystemEnv(Path(sys.prefix)) 18 | marker_env = env.get_marker_env() 19 | assert marker_env["python_full_version"] == "3.11.9" 20 | -------------------------------------------------------------------------------- /tests/utils/fixtures/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "poetry" 3 | version = "0.2.0" 4 | description = "Python dependency management and packaging made easy." 5 | authors = [ 6 | "Sébastien Eustace " 7 | ] 8 | license = "MIT" 9 | 10 | readme = "README.md" 11 | 12 | homepage = "https://python-poetry.org/" 13 | repository = "https://github.com/python-poetry/poetry" 14 | documentation = "https://python-poetry.org/docs" 15 | 16 | keywords = ["packaging", "dependency", "poetry"] 17 | 18 | # Requirements 19 | [tool.poetry.dependencies] 20 | python = "^3.6" 21 | cleo = "^0.6" 22 | requests = "^2.18" 23 | toml = "^0.9" 24 | cachy = "^0.1.0" 25 | pip-tools = "^1.11" 26 | 27 | [tool.poetry.group.dev.dependencies] 28 | pytest = "~3.4" 29 | -------------------------------------------------------------------------------- /tests/vcs/git/git_fixture.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | import typing 4 | 5 | 6 | if typing.TYPE_CHECKING: 7 | from pathlib import Path 8 | 9 | import dulwich.repo 10 | 11 | 12 | class TempRepoFixture(typing.NamedTuple): 13 | path: Path 14 | repo: dulwich.repo.Repo 15 | init_commit: str 16 | middle_commit: str 17 | head_commit: str 18 | --------------------------------------------------------------------------------