Py2deb

Latest version: v5.0

Safety actively analyzes 675368 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 29

2.3

---------------------------

Merged pull request `30`_:

- Added support ``pypy3`` in replacement hashbangs.
- Added support for ``pypy3`` package name prefix.

.. _Release 2.3: https://github.com/paylogic/py2deb/compare/2.2...2.3
.. _30: https://github.com/paylogic/py2deb/pull/30

2.2

---------------------------

Addded support for ``pypy3`` hashbangs via pull request `29`_.

.. _Release 2.2: https://github.com/paylogic/py2deb/compare/2.1.1...2.2
.. _29: https://github.com/paylogic/py2deb/pull/29

2.1.1

-----------------------------

**Defensively pin pip-accel requirement.**

I intend to revive pip-accel_ based on the latest pip_ release, offering a
minimal conceptual subset of previous functionality of pip-accel_, just enough
for py2deb to use for downloading and unpacking distribution archives.

However this will surely take some time to flesh out - possibly multiple
releases of both projects. I'm not even sure yet what will be involved in
getting pip-accel and py2deb running on the latest version of pip (I can
however already tell that large architectural changes will be required in
pip-accel and consequently also py2deb).

In the mean time I don't want any users (including my employer) run into
breakage caused by this endeavor. Alpha / beta releases on PyPI should be able
to avoid this problem, however I've never published those myself, so I'm opting
for "defense in depth" 😇.

.. _Release 2.1.1: https://github.com/paylogic/py2deb/compare/2.1...2.1.1

2.1

---------------------------

Enable optional backwards compatibility with the old version number conversion
up to `release 0.25`_ in which pre-release identifiers didn't receive any
special treatment.

My reason for adding this backwards compatibility now is that it will allow me
to upgrade py2deb on the build server of my employer to the latest version
without being forced to switch to the new version number format at the same
time. This simplifies the transition significantly.

.. _Release 2.1: https://github.com/paylogic/py2deb/compare/2.0...2.1

2.0

---------------------------

**New features:**

- Added support for Python 3.7 🎉 (configured `Travis CI`_ to run the test
suite on Python 3.7 and updated the project metadata and documentation).

- Added support for PyPy_ 🎉 (configured `Travis CI`_ to run the test suite on
PyPy, changed the test suite to accommodate PyPy, fixed several
incompatibilities in the code base, updated the project metadata and
documentation).

- Make it possible for callers to change Lintian_ overrides embedded in
the generated binary packages. Also, update the default overrides.

**Bug fixes:**

- Make the default name prefix conditional on the Python version that's running
py2deb (this is **backwards incompatible** although clearly the correct
behavior):

- On PyPy_ the default name prefix is now ``pypy``.
- On Python 2 the default name prefix is still ``python``.
- On Python 3 the default name prefix is now ``python3``.

The old behavior of using the ``python`` name prefix on Python 3 and PyPy_
was definitely wrong and quite likely could lead to serious breakage, but
even so this change is of course backwards incompatible.

- Don't raise an exception from ``transform_version()`` when a partial
requirement set is converted using pip's ``--no-deps`` command line option
(this is a valid use case that should be supported).

**Documentation changes:**

- Added this changelog 🎉. The contents were generated by a Python script that
collects tags and commit messages from the git repository. I manually
summarized and converted the output to reStructuredText format (which was a
whole lot work 😛).

- Changed the theme of the documentation from ``classic`` to ``nature``. The
classic theme is heavily customized by Read the Docs whereas the nature theme
more closely matches what is rendered locally by Sphinx versus what is
rendered 'remotely' on Read the Docs.

- Changed the location of the intersphinx mapping for setuptools (it now uses
Read the Docs).

**Internal improvements:**

- Move the finding of shared object files and the dpkg-shlibdeps_ integration
to deb-pkg-tools_ (strictly speaking this is backwards incompatible). This
functionality originated in py2deb but since then I'd wanted to reuse it
outside of py2deb several times and so I eventually reimplemented it in
deb-pkg-tools_. Switching to that implementation now made sense (in order to
reduce code duplication and simplify the py2deb code base). Strictly speaking
this is backwards incompatible because methods have been removed but this
only affects those who extend ``PackageToConvert`` which I don't expect
anyone to have actually done 🙂.

- Switched from cached-property_ to property-manager_. The py2deb project comes
from a time (2013) when Python descriptors were still magic to me and so I
chose to use cached-property_. However since then I created the
property-manager_ project (2015). At this point in time (2018) several of the
dependencies of py2deb (other projects of mine) already use property-manager_
and the integration of property-manager_ in py2deb can help to improve the
project, so this seemed like the logical choice 😇.

.. _Release 2.0: https://github.com/paylogic/py2deb/compare/1.1...2.0
.. _dpkg-shlibdeps: https://manpages.debian.org/dpkg-shlibdeps
.. _cached-property: https://pypi.org/project/cached-property
.. _property-manager: https://pypi.org/project/property-manager
.. _PyPy: https://en.wikipedia.org/wiki/PyPy
.. _Lintian: https://en.wikipedia.org/wiki/Lintian

1.1

---------------------------

- Add support for conditional dependencies via environment markers.
- Include the documentation in source distributions (the ``*.tar.gz`` files).

.. _Release 1.1: https://github.com/paylogic/py2deb/compare/1.0...1.1

Page 2 of 29

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.