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

Releases: nix-community/pypi2nix

v2.0.0

26 Oct 20:58
0430a0a
Compare
Choose a tag to compare

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

v1.8.1

25 Oct 10:17
Compare
Choose a tag to compare

v1.8.0

11 Apr 10:15
Compare
Choose a tag to compare

v1.7.0

30 Jan 03:01
Compare
Choose a tag to compare

v1.6.0

23 Dec 22:52
Compare
Choose a tag to compare
  • add a notice that pypi2nix (for now) only works with latest unstable channel
  • -E/--extra-build-inputs option is now documented in README.rst, #93
  • Add support for "-e git+" resources in requirement files
  • pypi2nix can now build scipy/numpy, looks examples/ folder how to make it work, #84
  • building all examples also on darwin platform
  • setting SOURCE_DATE_EPOCH to a value after 1980, #87
  • provide nicer error when http like requirement is present
  • --setup-requires option to install pip packages before building wheels, #82
  • -E/--extra-build-inputs can now be specified multiple times
  • include nix as a dependency of pypi2nix since nix-shell is used in stage1

v1.5.0

25 Sep 02:13
Compare
Choose a tag to compare
  • fixed a bug with relative paths in requirements files, #68
  • ask to report an issue when not known issue is raised, #55
  • nicer error message when no source distribution is found, #78
  • pip wheel errors are now re-raised and caught in python, #77
  • using sha256 instead of md5
  • *_cache_dir variables not getting set if you specify cache_dir from the cli [Matt Billenstein]
  • Add pip_build_dir -- pip was filling up /run on Ubuntu [Matt Billenstein]
  • renaming python.pkgs -> python.packages

v1.4.0

15 Aug 01:56
Compare
Choose a tag to compare
  • release version detection improved, using pkg_resource to parse version
  • buildout support (eg. pypi2nix -V 2.7 -b buildout.cfg)
  • pip cache is now in pypi2nix cache
  • creating requirements_frozen.txt alongside .nix files. it can be useful for pip/virtualenv
  • increased timeout when fetching resources from pypi
  • license is now also recognized using classifiers
  • output in console is now minimal, -v/--verbose added for debugging purposes
  • stage1 isnt failing with correct error code. now i'm checking for Error string.
  • SSL_CERT_FILE exported in stage1
  • requirements.nix improved a bit
  • improved travis builds

v1.3.0

25 Jul 02:16
Compare
Choose a tag to compare
  • support for -e option, #32
  • support for URLs in requirements.txt. now it is possible to install Pillow from my fork. All you need to do is put https://github.com/garbas/Pillow/archive/pkg-config.tar.gz#egg=Pillow into your requirements.txt, #54
  • use requests library instead of aiohttp, which fixed concurrent.futures._base.TimeoutError errors, #51
  • during stage1 LANG is set to en_US.UTF-8
  • parent python environment was causing recursion

v1.2.0

07 Jul 00:46
Compare
Choose a tag to compare
  • adding support for darwin platform
  • fetching metadata from pypi using aiohttp, #42
  • for sources use sha256 instead of md5. when sha256 is not provided we download package and calculate it, #41
  • python version option (-V) is now a required option, #39
  • python "object" now has a pkgs_top_level list of all top level packages, #38
  • an option -T added to turn doCheck=true; for all generated packages, #36
  • detect more licenses, #29
  • multiple requirements.txt can now be provided when calling pypi2nix, #34
  • run nix-shell with --pure option

v1.1.0

07 Jul 00:39
Compare
Choose a tag to compare
  • adding awscli example
  • version of deps.nix updated
  • updating README
  • use nix-shell instead of nix-build in stage1
  • displaying exact command in generated nix files, #21
  • travis is building successfully