Metadata-Version: 2.4
Name: pyc_wheel
Version: 2.0.5
Summary: Compile all py files in a wheel to pyc files.
Author-email: Adam Karpierz <adam@karpierz.net>, Grant Patten <grant@gpatten.com>
Maintainer-email: Adam Karpierz <adam@karpierz.net>
License-Expression: MIT
Project-URL: Homepage, https://pypi.org/project/pyc_wheel/
Project-URL: Documentation, https://pyc-wheel.readthedocs.io/
Project-URL: Download, https://pypi.org/project/pyc_wheel/
Project-URL: Source, https://github.com/karpierz/pyc_wheel
Project-URL: Issues, https://github.com/karpierz/pyc_wheel/issues
Keywords: pyc_wheel,pycwheel,wheel,pyc,compile
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Natural Language :: Polish
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Python: <4.0.0,>=3.10.0
Description-Content-Type: text/x-rst; charset=UTF-8
License-File: LICENSE
Requires-Dist: setuptools>=80.9.0
Requires-Dist: typing_extensions>=4.15.0
Requires-Dist: pkg-about>=2.0.0
Provides-Extra: doc
Requires-Dist: Sphinx>=8.1.3; extra == "doc"
Requires-Dist: sphinx-autodoc-typehints>=3.0.1; extra == "doc"
Requires-Dist: sphinx-toolbox>=4.0.0; extra == "doc"
Requires-Dist: sphinx-tabs>=3.4.5; extra == "doc"
Requires-Dist: sphinx-copybutton>=0.5.2; extra == "doc"
Requires-Dist: sphinxcontrib-spelling>=8.0.1; extra == "doc"
Requires-Dist: sphinx-lint>=1.0.1; extra == "doc"
Requires-Dist: restructuredtext-lint>=1.4.0; extra == "doc"
Requires-Dist: nbsphinx>=0.9.7; extra == "doc"
Provides-Extra: test
Requires-Dist: deepdiff>=8.6.1; extra == "test"
Requires-Dist: rich>=14.2.0; extra == "test"
Dynamic: license-file

pyc_wheel
=========

Compile all py files in a wheel to pyc files.

Overview
========

|package_bold| is a strict fork of Grant Patten's pycwheel_ package
with a fixes allowing to work with Python3 or higher and with a code
reformatting and some improvements.

`PyPI record`_.

`Documentation`_.

Usage
-----

Processing the wheel in place:

.. code-block:: bash

    $ python3 -m pyc_wheel your_wheel-1.0.0-py3-none-any.whl
    # Output: your_wheel-1.0.0-py3-none-any.whl

or renaming for the python version:

.. code-block:: bash

    $ python3.12 -m pyc_wheel --rename your_wheel-1.0.0-py3-none-any.whl
    # Output: your_wheel-1.0.0-cp312-none-any.whl

or with backup:

.. code-block:: bash

    $ python3.12 -m pyc_wheel --rename --with-backup your_wheel-1.0.0-py3-none-any.whl
    # Output: your_wheel-1.0.0-cp312-none-any.whl
    #         your_wheel-1.0.0-py3-none-any.whl.bak

or with quiet:

.. code-block:: bash

    $ python3 -m pyc_wheel --quiet your_wheel-1.0.0-py3-none-any.whl
    # Output: your_wheel-1.0.0-py3-none-any.whl

or skipping compilation for a file subset:

.. code-block:: bash

    $ python3 -m pyc_wheel --exclude "some/regex" your_wheel-1.0.0-py3-none-any.whl

To check all available processing options:

.. code-block:: bash

    $ python3 -m pyc_wheel --help

Installation
============

Prerequisites:

+ Python 3.10 or higher

  * https://www.python.org/

+ pip and setuptools

  * https://pypi.org/project/pip/
  * https://pypi.org/project/setuptools/

To install run:

  .. parsed-literal::

    python -m pip install --upgrade |package|

Development
===========

Prerequisites:

+ Development is strictly based on *tox*. To install it run::

    python -m pip install --upgrade tox

Visit `Development page`_.

Installation from sources:

clone the sources:

  .. parsed-literal::

    git clone |respository| |package|

and run:

  .. parsed-literal::

    python -m pip install ./|package|

or on development mode:

  .. parsed-literal::

    python -m pip install --editable ./|package|

License
=======

  | |copyright|
  | Copyright (c) 2016 Grant Patten
  | Licensed under the MIT License
  | https://opensource.org/license/mit
  | Please refer to the accompanying LICENSE file.

Authors
=======

* Grant Patten <grant@gpatten.com>
* Adam Karpierz <adam@karpierz.net>

.. |package| replace:: pyc_wheel
.. |package_bold| replace:: **pyc_wheel**
.. |copyright| replace:: Copyright (c) 2019-2025 Adam Karpierz
.. |respository| replace:: https://github.com/karpierz/pyc_wheel.git
.. _Development page: https://github.com/karpierz/pyc_wheel
.. _PyPI record: https://pypi.org/project/pyc_wheel/
.. _Documentation: https://pyc-wheel.readthedocs.io/
.. _pycwheel: https://pypi.org/project/pycwheel/

Changelog
=========

2.0.5 (2025-11-08)
------------------
- Mark the package as typed.
- Add tox's tool.tox.env.cleanup testenv.
- Setup (dependencies) update.

1.5.0 (2025-09-01)
------------------
- Making the package typed.
- Setup (dependencies) update.

1.3.6 (2025-07-07)
------------------
- Unittests have been added.
- 100% code coverage.
- A few minor code improvements.
- Setup (dependencies) update.

1.3.5 (2025-06-11)
------------------
- Setup (dependencies) update.

1.3.4 (2025-05-15)
------------------
- The distribution is now created using 'build' instead of 'setuptools'.
- Setup (dependencies) update (due to regressions in tox and setuptools).

1.3.2 (2025-05-10)
------------------
- Add support for Python 3.14
- Drop support for Python 3.9 (due to compatibility issues).
- Add support for PyPy 3.11
- Drop support for PyPy 3.9
- `Add --rename and --symlink options.
  <https://github.com/karpierz/pyc_wheel/pull/20>`_
- `Fix for a bug <https://github.com/karpierz/pyc_wheel/issues/21>`_
- `Fix for a bug when wheel tag rewrite processed incorrectly
  <https://github.com/karpierz/pyc_wheel/issues/19>`_
- `Fix links in README.rst
  <https://github.com/karpierz/pyc_wheel/pull/15>`_
- Update readthedocs's python to version 3.13
- Update tox's base_python to version 3.13
- Setup (dependencies) update.

1.3.0 (2025-02-10)
------------------
- Add support for Python 3.10, 3.11, 3.12 and 3.13
- Drop support for Python 3.6, 3.7 and 3.8
- Add support for PyPy 3.9 and 3.10
- `Add --optimize argument to allow setting the optimization level
  of the compiler. <https://github.com/karpierz/pyc_wheel/pull/14>`_
- `Wheel name should include Python tag.
  <https://github.com/karpierz/pyc_wheel/pull/13>`_
- `Preserve the permissions bits.
  <https://github.com/karpierz/pyc_wheel/pull/9>`_
- `Extend docs for --exclude and --help.
  <https://github.com/karpierz/pyc_wheel/pull/7>`_
- Add --log argument to allow logging.
- 100% code linting.
- Copyright year update.
- Setup update (currently based on pyproject.toml).
- | Tox configuration has been moved to pyproject.toml
  | and now based on tox >= 4.0
- Setup (dependencies) update.

1.2.7 (2021-10-14)
------------------
- Setup update.

1.2.6 (2021-07-20)
------------------
- Setup general update and improvement.

1.2.4 (2020-10-18)
------------------
- Drop support for Python 3.5.
- Fixed docs setup.

1.1.0 (2020-09-22)
------------------
- Add support for Python 3.9.
- `Fixed improper permission setting to read distribution.
  <https://github.com/karpierz/pyc_wheel/pull/4>`_
- Setup general update and cleanup.

1.0.3 (2020-01-16)
------------------
- Added ReadTheDocs config file.
- Setup update.

1.0.2 (2019-12-03)
------------------
- Added the ability to exclude files from compilation.
- Added the ability to use wildcards.

1.0.1rc3 (2019-11-30)
---------------------
- A little fix for README.rst

1.0.1rc2 (2019-11-30)
---------------------
- | Creating a fork of Grant Patten's *pycwheel* package with a fixes,
  | changes and improvements allowing to work with Python3 or higher.

Changes of the original *pycwheel*:

1.0.0 (Sep 25, 2016)
--------------------
- Initial commit.
