./devel/py-apipkg, Namespace control and lazy-import mechanism

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 3.0.2, Package name: py311-apipkg-3.0.2, Maintainer: pkgsrc-users

With apipkg you can control the exported namespace of a python package and
greatly reduce the number of imports for your users. It is a small pure python
module that works on virtually all Python versions, including CPython2.3 to
Python3.1, Jython and PyPy. It co-operates well with Python's help() system,
custom importers (PEP302) and common command line completion tools.


Required to run:
[devel/py-setuptools] [lang/python27]

Required to build:
[pkgtools/cwrappers] [devel/py-setuptools_scm]

Master sites:

Filesize: 6.439 KB

Version history: (Expand)


CVS history: (Expand)


   2024-04-30 14:25:04 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
py-apipkg: update to 3.0.2.

3.0.1
------

* restore tox.ini to support tox --current-env based packaging

3.0.0
-----
* add support for python 3.11 and drop dead pythons (thanks hukgo)
* migrate to hatch
* split up __init__.py
* add some type annotations

2.1.1
-----

* drop the python 3.4 support marker, 2.1.0 broke it
  2.1.0 will be yanked after release

2.1.0
----------------------------------------

- fix race condition for import of modules using apipkg.initpkg in Python 3.3+
  by updating existing modules in-place rather than replacing in sys.modules
  with an apipkg.ApiModule instances. This race condition exists for
  import statements (and __import__) in Python 3.3+ where sys.modules is
  checked before obtaining an import lock, and for importlib.import_module
  in Python 3.11+ for the same reason.

2.0.1
----------------------------------------

- fix race conditions for attribute creation

2.0.0
----------------------------------------

- also transfer __spec__ attribute
- make py.test hack more specific to avoid hiding real errors
- switch from Travis CI to GitHub Actions
- modernize package build
- reformat code with black
   2022-01-13 20:31:25 by Thomas Klausner | Files touched by this commit (43)
Log message:
*: setuptools_scm: switch to versioned_dependencies
   2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595)
Log message:
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS
   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:
devel/py-traitlets/distinfo

The following distfiles were unfetchable (note: some may be only fetched
conditionally):

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
   2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017)
Log message:
devel: Remove SHA1 hashes for distfiles
   2018-07-09 08:41:02 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-apipkg: updated to 1.5

1.5:
- switch to setuptools_scm
- move to github
- fix up python compat matrix
- avoid dict iteration (fixes issue on python3)
   2017-09-03 10:53:18 by Thomas Klausner | Files touched by this commit (165)
Log message:
Follow some redirects.
   2017-05-29 12:38:16 by Adam Ciarcinski | Files touched by this commit (4)
Log message:
With apipkg you can control the exported namespace of a python package and
greatly reduce the number of imports for your users. It is a small pure python
module that works on virtually all Python versions, including CPython2.3 to
Python3.1, Jython and PyPy. It co-operates well with Python's help() system,
custom importers (PEP302) and common command line completion tools.