Skip to content
This repository has been archived by the owner on Oct 7, 2022. It is now read-only.

v2.0.0

Latest
Compare
Choose a tag to compare
@seppeljordan seppeljordan released this 26 Oct 20:58
· 167 commits to master since this release
0430a0a

This release of pypi2nix is not backwards compatible with v1.8.1. The command line interface changed.

CLI

  • The -V/--python-version argument is not mandatory anymore. The python version is nixpkgs.python3. You can specify the desired python version via its nixpkgs name, e.g. python35 or python27.
  • --default-overrides is now the default. You can disable the use of the default overrides by specifying --no-default-overrides.
  • Logging works slightly different now. You can specify the verbosity of the logger via -v and -q. -v increases the verbosity by 1 level and -q decreases it by the same amount. The levels are ERROR, WARNING, INFO and DEBUG, where INFO is the default.

Functional Changes

  • pypi2nix is now stricter when it comes to the packages it consumes. If pypi2nix encounters environment markers that are not part of PEP 508 it will output warnings or even abort.
  • pypi2nix can now detect build dependencies of packages that utilize pyproject.toml or setup.cfg.
  • pypi2nix now packages all dependencies which includes setuptools and pip. In previous versions of pypi2nix those packages were ignored by the program.
  • More kinds of license classifiers are recognized by the license detection routine.

Dump of git log

Test pypi upload (#357)
Merge pull request #355 from seppeljordan/bdist-msi
Merge pull request #356 from seppeljordan/update-readme-overrides
Merge pull request #354 from seppeljordan/update-dependencies
Introduce release type bdist_msi
--default-overrides is not discouraged anymore, adjust README.rst
Update development dependencies
Remove debugging print statement
Fix license detection (#353)
Improve warnings for unknown package type (#352)
Download necessary python sources instead of including them in package (#351)
Refactor bootstrap.nix (#350)
Remove setupcfg package from development environment (#349)
Remove dependency to setupcfg and use setuptools.config instead (#347)
Clearify README.rst about supported systems and nixpkgs channels (#348)
Update dependencies (#346)
Remove TO_IGNORE list of forbidden requirements (#343)
Use --default-overrides by default (#342)
Allow for 'sys.platform' in environment markers (#340)
Implement method to get sources directly from requirements_collector (#338)
Print warning when using --build-directory option (#336)
Update dependencies (#334)
Improve local path handling in requirements.txt files (#332)
Allow environment marker variable 'python_implementation' (#329)
README.rst was lying about development environment (#330)
Remove unnecessary dependencies (#328)
Remove unnecessary overrides in requirements_override.nix (#327)
Fix build for supported nixpkgs channels (#326)
Update pip wheel (#325)
Let user select build folder via CLI (#322)
Do not patch bootstrapped-pip in generated requirements.nix (#323)
Enable extras support (#320)
Nuke custom environment marker implementation in favor of packaging.markers implementation (#319)
Make existing contextmanagers exception safe (#318)
Update pip wheel (#317)
Fixes #315 (#316)
Refactor python_version (#313)
Update python requirements
Implement script that updates python dependencies for development environment
Seperate command line interface from program logic (#312)
Extend readme (#311)
Refactor cli.py (#310)
Add option to avoid emitting extra build deps (#285)
Fix newlines of cmd output (#309)
Move all metadata from setup.py to setup.cfg (#307)
Reorganize maintenance scripts and update README.rst in that regard (#306)
Check if patchPhase is present on bootstrapped-pip requirements.nix (#308)
Implement script to update pip wheel (#305)
Refactor pip (#299)
Improve license detection (#295)
Let logger respect verbose flag and use it consitently (#293)
Change references of garbas/pypi2nix to nix-community/pypi2nix (#291)
Add test_serpy_0_1_1.py to travis integration tests (#290)
Fix issue with setup requirements not being installed (#289)
Implement warnings for unparsable build inputs of packages (#288)
Update dependencies (#286)
Fix bug that caused specified build inputs from requirement files to be ignored (#277)
overrides: Fix small typo in error message (#283)
cli: Do not pick up NIX_PATH as default nix_path (#282)
cmd: Don't default to merging stdout with stderr (#281)
Autodetect setup requirements for PEP 517 and setup.cfg packages
Refactor ``pip.nix`` (#272)
Massive refactoring and some code changes (#271)
Fix nativeBuildInputs in mkDerivation (#266)
Refactor stage1, stage2 and requirements file handling (#265)
Fix bug in stage1 error handling (#264)
Refactor stage1.py for better maintainability (#263)
forgot to change checkInputs to buildInputs accross nix files
quick fix without regenerating requirements.nix
typo
this should be more backwards compatible solution
setup_requires environment should be bound/constrained to requirements_files (#260)
fixing flake8 example
adding connexion example to gitignore
too verbose in flake8 example
fix flake8 and connexion example
i hope i'm not blowing up the clousure size, we'll see, but this makes it work
updating pypi2nix dependencies and deps.nix
fix cachix
Clean up docs (#250)
Convert Header to str (#249)
Revert disabling checkPhase and installCheckPhase (#247)
even on failure copy over already created wheels
update deps
black
fix, i forgot to take extras into the account
fix installation instructions
adding a case for bsd3 license, fixing #228 (#243)
-r includes in requirements file (#242)
more cleanup (#241)
README.rst: add environment variable example (#239)
updating pypi2nix dependencies (#237)
read version correctly
bumping major version due to recent rework of stage2
updating dependencies and rework of stage2 (#200)
Add support for LGPLv3+ license (#229)
Support pip constraints files (-c syntax in requirements.txt files) (#219)
Support Python 3.7 (#213)
Allow for an `overrides` argument to `requirements.nix`. (#197)
Re-raise exception instead of raising a new one to avoid messing with the stack trace (#211)
Support 'MPL2' too as a short name for the Mozilla Public License (#212)
remove build directory between pip download and pip wheel invokation
Add an `interpreterWithPackages` function like that from nixpkgs. fixes #195
Add source filter to release.nix
Install nixpkgs.nix-prefetch-git on travis build server
Use nix_prefetch_github packages instead of custom prefetch mechanism
Set checkPhase and installCheckPhase to "" when generating expressions
Update requirements.nix
remove vulnix example since they don't use buildout anymore
looks like pypi2nix was only working with python35
local wheels cache was ignored so far
empy fix
travis: excaping multiline openssl command
Fixes #185
new fetchFromGitHub uses source as top folder name (#184)
using garbas.si ssh pubkey insteal of ssh_known_hosts addon (#183)
Fix .travis.yml (#182)
nix-push -> nix copy
Fixes #178
Github prefetch method now also works for fixed output derivations
pip wheel cache (#176)
Implement custom prefetch_github mechanism (#177)
fixing examples and using --default-overrides flag (#172)
Define an overrides class for github repos
Do not fetch submodules with git type overrides
setuptools: 34.4.1 -> 38.2.5
travis: sometimes we need a bit more time to build scipy
travis: suppress nix-build output
Fix minor typo in requirements.nix.j2 template
Use prefetch_git utils function consistently
Patch nix-prefetch-git in utils.py instead of stage2.py
Overhaul nix file generation
Fix to use cleanSource for path sources
Update zc.buildout to 2.9.5, #158
Use python 3.6 by default, #158
Don't use bare except statement
Update overlay example in README.rst