Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for PEP-508 direct-URL dependencies #137

Merged
merged 37 commits into from
Mar 1, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
eb32fc1
Add support for PEP-508 direct-URL dependencies
techalchemy Jan 23, 2019
ed0c675
Merge branch 'master' into bugfix/108
techalchemy Jan 23, 2019
3cdecfc
Fix pip monkeypatch and ireq generation
techalchemy Jan 24, 2019
081a19f
Add tests
techalchemy Jan 24, 2019
9697f0b
Full implementation of pep 508 style requirements
techalchemy Jan 24, 2019
f0549ba
Make things hashable
techalchemy Jan 29, 2019
468a754
Don't run setup_info until needed, mock unpack calls
techalchemy Jan 29, 2019
f2c2fb9
Don't clone using ssh, patch around it'
techalchemy Jan 30, 2019
6f24dc3
Update travis config
techalchemy Jan 30, 2019
81a848e
Add more shared state
techalchemy Jan 30, 2019
10c6e55
Add `dist-info` to metadata search, fix tests
techalchemy Jan 30, 2019
4d58c94
fix requirement parsing
techalchemy Jan 30, 2019
fe492ff
Recover files from deletion
Feb 13, 2019
865fdc6
Update tests and remove old unused code
Feb 14, 2019
47fe8b1
Delay parsing of parsed line on VCS Requirement until after instantia…
techalchemy Feb 14, 2019
e912e21
Change parse order to prioritize line instances
techalchemy Feb 15, 2019
1750164
Fix wheel building and metadata retrieval
techalchemy Feb 15, 2019
7840a83
Chip away at old/unused code
techalchemy Feb 16, 2019
ab3267c
Update url to tablib zipfile
techalchemy Feb 16, 2019
717a33d
Updated news entry
techalchemy Feb 16, 2019
396de7b
adjust pep517 builder for older setuptools
techalchemy Feb 18, 2019
f035abf
Update news entry and towncrier config
techalchemy Feb 24, 2019
1f373d3
Fix test failures
techalchemy Feb 25, 2019
a216cfb
Merge branch 'bugfix/108' of github.com:sarugaku/requirementslib into…
techalchemy Feb 25, 2019
824fb9e
Drop unused cached_property import
techalchemy Feb 25, 2019
8b05cae
Fix code quality check issues
techalchemy Feb 25, 2019
df44ced
Add typed-ast to dependencies
techalchemy Feb 25, 2019
5a4b9cf
Update lockfile
techalchemy Feb 25, 2019
6a3e433
Update readme
techalchemy Feb 25, 2019
d48d59b
Update lockfile with correct markers
techalchemy Feb 26, 2019
9787d17
Update lockfile
techalchemy Feb 26, 2019
084ca16
Fix broken requirement in lockfile and update typechecking task
techalchemy Feb 26, 2019
a55f136
Update type hints
techalchemy Feb 27, 2019
db28878
Update type hints
techalchemy Feb 28, 2019
522a68a
More type hints
techalchemy Feb 28, 2019
a3a458a
Fix most typehint issues
techalchemy Mar 1, 2019
c4b8e5c
Fix a few bugs from typechecking
techalchemy Mar 1, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
language: python
sudo: false
cache: pip
dist: trusty
cache:
directories:
- $HOME/.cache/pipenv
- $HOME/.cache/pip-tools
- $HOME/.cache/pip

matrix:
fast_finish: true
Expand All @@ -26,7 +30,7 @@ jobs:
- stage: packaging
python: "3.6"
install:
- "python -m pip install --upgrade readme-renderer[md] twine"
- "python -m pip install --upgrade readme-renderer[md] twine setuptools requests[security]"
script:
- "python setup.py sdist"
- "twine check dist/*"
Expand Down
74 changes: 37 additions & 37 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@ Features
--------

- Added ``is_pep517`` and ``build_backend`` properties to the top level ``Requirement`` object to help determine how to build the requirement. #125


Bug Fixes
---------

- Suppressed output written to ``stdout`` by pip during clones of repositories to non-base branches. #124

- Fixed a bug which caused local file and VCS requirements to be discovered in a depth-first, inexact search, which sometimes caused incorrect matches to be returned. #128

- Fixed a bug with link generation on VCS requirements without URI schemes. #132

- ``VCSRequirement.get_checkout_dir`` will now properly respect the ``src_dir`` argument. #133


Expand All @@ -35,15 +35,15 @@ Features
--------

- Enhanced parsing of dependency and extras detail from ``setup.cfg`` files. #118


Bug Fixes
---------

- Take the path passed in if it's valid when loading or creating the lockfile/pipfile. #114

- Don't write redundant ``egg-info`` under project root when ``src`` is used as package base. #115

- Fixed an issue which prevented parsing of extras and dependency information from local ``setup.py`` files and could cause irrecoverable errors. #116


Expand All @@ -63,17 +63,17 @@ Features
--------

- Added support for loading metadata from ``pyproject.toml``. #102

- Local and remote archive ``FileRequirements`` will now be unpacked to a temporary directory for parsing. #103

- Dependency information will now be parsed from local paths, including locally unpacked archives, via ``setup.py egg_info`` execution. #104

- Additional metadata will now be gathered for ``Requirement`` objects which contain a ``setup.cfg`` on their base path. #105

- Requirement names will now be harvested from all available sources, including from ``setup.py`` execution, ``setup.cfg`` files, and any metadata provided as input. #107

- Added a flag for PEP508 style direct url requirements. #99


Bug Fixes
---------
Expand Down Expand Up @@ -133,15 +133,15 @@ Features
--------

- ``Pipfile`` and ``Lockfile`` models will now properly perform import and export operations with fully data serialization. #83

- Added a new interface for merging ``dev`` and ``default`` sections in both ``Pipfile`` and ``Lockfile`` objects using ``get_deps(dev=True, only=False)``. #85


Bug Fixes
---------

- ``Requirement.as_line()`` now provides an argument to make the inclusion of markers optional by passing ``include_markers=False``. #82

- ``Pipfile`` and ``Lockfile`` models are now able to successfully perform creation operations on projects which currently do not have existing files if supplied ``create=True``. #84


Expand All @@ -161,7 +161,7 @@ Bug Fixes
---------

- Fixed a bug which caused VCS URIs to build incorrectly when calling ``VCSRequirement.as_line()`` in some cases. #73

- Fixed bug that editable package with ref by @ is not supported correctly #74


Expand All @@ -181,19 +181,19 @@ Features
--------

- ``Requirement.get_commit_hash`` and ``Requirement.update_repo`` will no longer clone local repositories to temporary directories or local src directories in order to determine commit hashes. #60

- Added ``Requirement.lock_vcs_ref()`` api for locking the VCS commit hash to the current commit (and obtaining it and determining it if necessary). #64

- ``Requirement.as_line()`` now offers the parameter ``as_list`` to return requirements more suited for passing directly to ``subprocess.run`` and ``subprocess.Popen`` calls. #67


Bug Fixes
---------

- Fixed a bug error formatting of the path validator method of local requirements. #57

- Fixed an issue which prevented successful loads of ``Pipfile`` objects missing entries in some sections. #59

- Fixed an issue which caused ``Requirement.get_commit_hash()`` to fail for local requirements. #67


Expand Down Expand Up @@ -240,7 +240,7 @@ Bug Fixes
---------

- Fixed a bug which sometimes caused extras to be dropped when parsing named requirements using constraint-style specifiers. #44

- Fix parsing error in `Requirement.as_ireq()` if requirement contains hashes. #45


Expand All @@ -251,37 +251,37 @@ Features
--------

- Added support for ``Requirement.get_dependencies()`` to return unpinned dependencies.
Implemented full support for both parsing and writing lockfiles.
Introduced lazy imports to enhance runtime performance.
Switch to ``packaging.canonicalize_name()`` instead of custom canonicalization function.
Added ``Requirement.copy()`` to the api to copy a requirement. #33
- Implemented full support for both parsing and writing lockfiles.
- Introduced lazy imports to enhance runtime performance.
- Switch to ``packaging.canonicalize_name()`` instead of custom canonicalization function.
- Added ``Requirement.copy()`` to the api to copy a requirement. #33

- Add pep423 formatting to package names when generating ``as_line()`` output.
Sort extras when building lines.
Improve local editable requirement name resolution. #36
- Sort extras when building lines.
- Improve local editable requirement name resolution. #36


Bug Fixes
---------

- - Fixed a bug which prevented dependency resolution using pip >= 18.0.
- Fixed a bug which prevented dependency resolution using pip >= 18.0.

- Fix pipfile parser bug which mishandled missing ``requires`` section. #33

- Fix pipfile parser bug which mishandled missing ``requires`` section. #33

- Fixed a bug which caused extras to be excluded from VCS urls generated from pipfiles. #41


Vendored Libraries
------------------

- Unvendored ``pipfile`` in favor of ``plette``. #33


Removals and Deprecations
-------------------------

- Unvendored ``pipfile`` in favor of ``plette``. #33

- Moved pipfile and lockfile models to ``plette`` and added api wrappers for compatibility. #43


Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Contributing to requirementslib
================================
====================================

To work on requirementslib itself, fork the repository and clone your fork to your local
system.
Expand Down
Loading