head	1.7;
access;
symbols
	pkgsrc-2026Q3:1.6.0.12
	pkgsrc-2026Q3-base:1.6
	pkgsrc-2026Q2:1.6.0.10
	pkgsrc-2026Q2-base:1.6
	pkgsrc-2026Q1:1.6.0.8
	pkgsrc-2026Q1-base:1.6
	pkgsrc-2025Q4:1.6.0.6
	pkgsrc-2025Q4-base:1.6
	pkgsrc-2025Q3:1.6.0.4
	pkgsrc-2025Q3-base:1.6
	pkgsrc-2025Q2:1.6.0.2
	pkgsrc-2025Q2-base:1.6
	pkgsrc-2025Q1:1.5.0.12
	pkgsrc-2025Q1-base:1.5
	pkgsrc-2024Q4:1.5.0.10
	pkgsrc-2024Q4-base:1.5
	pkgsrc-2024Q3:1.5.0.8
	pkgsrc-2024Q3-base:1.5
	pkgsrc-2024Q2:1.5.0.6
	pkgsrc-2024Q2-base:1.5
	pkgsrc-2024Q1:1.5.0.4
	pkgsrc-2024Q1-base:1.5
	pkgsrc-2023Q4:1.5.0.2
	pkgsrc-2023Q4-base:1.5
	pkgsrc-2023Q3:1.4.0.2
	pkgsrc-2023Q3-base:1.4
	pkgsrc-2023Q2:1.3.0.18
	pkgsrc-2023Q2-base:1.3
	pkgsrc-2023Q1:1.3.0.16
	pkgsrc-2023Q1-base:1.3
	pkgsrc-2022Q4:1.3.0.14
	pkgsrc-2022Q4-base:1.3
	pkgsrc-2022Q3:1.3.0.12
	pkgsrc-2022Q3-base:1.3
	pkgsrc-2022Q2:1.3.0.10
	pkgsrc-2022Q2-base:1.3
	pkgsrc-2022Q1:1.3.0.8
	pkgsrc-2022Q1-base:1.3
	pkgsrc-2021Q4:1.3.0.6
	pkgsrc-2021Q4-base:1.3
	pkgsrc-2021Q3:1.3.0.4
	pkgsrc-2021Q3-base:1.3
	pkgsrc-2021Q2:1.3.0.2
	pkgsrc-2021Q2-base:1.3
	pkgsrc-2021Q1:1.2.0.4
	pkgsrc-2021Q1-base:1.2
	pkgsrc-2020Q4:1.2.0.2
	pkgsrc-2020Q4-base:1.2
	pkgsrc-2020Q3:1.1.0.28
	pkgsrc-2020Q3-base:1.1
	pkgsrc-2020Q2:1.1.0.24
	pkgsrc-2020Q2-base:1.1
	pkgsrc-2020Q1:1.1.0.4
	pkgsrc-2020Q1-base:1.1
	pkgsrc-2019Q4:1.1.0.26
	pkgsrc-2019Q4-base:1.1
	pkgsrc-2019Q3:1.1.0.22
	pkgsrc-2019Q3-base:1.1
	pkgsrc-2019Q2:1.1.0.20
	pkgsrc-2019Q2-base:1.1
	pkgsrc-2019Q1:1.1.0.18
	pkgsrc-2019Q1-base:1.1
	pkgsrc-2018Q4:1.1.0.16
	pkgsrc-2018Q4-base:1.1
	pkgsrc-2018Q3:1.1.0.14
	pkgsrc-2018Q3-base:1.1
	pkgsrc-2018Q2:1.1.0.12
	pkgsrc-2018Q2-base:1.1
	pkgsrc-2018Q1:1.1.0.10
	pkgsrc-2018Q1-base:1.1
	pkgsrc-2017Q4:1.1.0.8
	pkgsrc-2017Q4-base:1.1
	pkgsrc-2017Q3:1.1.0.6
	pkgsrc-2017Q3-base:1.1
	pkgsrc-2017Q2:1.1.0.2
	pkgsrc-2017Q2-base:1.1;
locks; strict;
comment	@# @;


1.7
date	2026.09.30.09.23.19;	author adam;	state Exp;
branches;
next	1.6;
commitid	cKSH3X61Z2phUCXG;

1.6
date	2025.05.20.12.06.56;	author adam;	state Exp;
branches;
next	1.5;
commitid	4lKEnGjwGmRUODVF;

1.5
date	2023.10.28.19.56.57;	author wiz;	state Exp;
branches;
next	1.4;
commitid	jP8MYROLWZ3yJqKE;

1.4
date	2023.07.30.15.24.05;	author adam;	state Exp;
branches;
next	1.3;
commitid	VzDQ5CaqneNP7QyE;

1.3
date	2021.04.16.05.40.25;	author adam;	state Exp;
branches;
next	1.2;
commitid	CfcOxt78nikEJtPC;

1.2
date	2020.10.23.07.21.23;	author adam;	state Exp;
branches;
next	1.1;
commitid	Ij3qrCP8S8mZUZsC;

1.1
date	2017.04.25.17.06.38;	author fhajny;	state Exp;
branches;
next	;
commitid	cLcyYlya1oHbcWOz;


desc
@@


1.7
log
@py-atpublic: updated to 8.0.1

8.0.1 (2026-09-21)

* The source distribution ships ``tests/``, ``docs/``, and ``conftest.py`` again.  8.0.0 shipped
  only ``src/public/``, so downstream packagers had no way to run the test suite against the
  released sdist.  (:GL:`30`)
* The ``install`` extra now requires ``atpublic-install >= 1.0.0``.  Unbounded it could resolve to
  the ``0.1.0a1`` prerelease, since installers fall back to a prerelease for a requirement that has
  no final release.  ``atpublic-install`` in turn now requires ``atpublic >= 8.0.0``, the first
  final release to export ``install()`` from the package itself.


8.0.0 (2026-09-18)

New features

* ``public()`` and ``private()`` now accept a single positional argument, which can be an object
  imported from another module, a module or submodule, or a string.  The resolved name is added to
  (or removed from) the ``__all__`` of the module where the call appears.  A string is used as
  given, and must be a valid Python identifier that isn't a reserved word; ``ValueError`` is raised
  otherwise.  When no name can be inferred, such as is the case with a constant or an instance,
  ``TypeError`` is raised, pointing you at the keyword argument form.  (:MR:`53`)
* ``@@public`` and ``@@private`` can now be installed into ``builtins`` at interpreter startup by
  installing the new ``install`` extra, i.e. ``pip install atpublic[install]``.  This pulls in the
  companion ``atpublic-install`` package, which enables the builtins at interpreter startup time via
  ``.pth`` or ``.start`` files.  (:MR:`51`)
* ``install()``, which adds ``@@public`` and ``@@private`` to ``builtins``, is now exported from the
  package itself, so it can be called as ``from public import install``.  Previously it was only
  reachable as ``public._startup.install``, which still works but is no longer the documented
  spelling.

Backward incompatibilities

* ``@@private`` no longer creates an ``__all__`` when the module doesn't already have one.
  Previously, privatizing a name in a module with no ``__all__`` left an empty one behind, which is
  not the same thing as not having one: an empty ``__all__`` exports nothing, while no ``__all__``
  exports every name that doesn't start with an underscore.
* ``public(thing)`` and ``private(thing)`` used to operate on ``sys.modules[thing.__module__]``,
  i.e. the module where ``thing`` was *defined*.  Passing in an imported object therefore added the
  name to the wrong module's ``__all__``, and in the case of ``private()``, removed it from the
  wrong module's ``__all__``.  Both functions now always use the globals of the module where the
  call appears.  Use as a decorator is unaffected, since a decorator is applied where its target is
  defined.
* The implementation modules are now private, having been renamed with a leading underscore:
  ``public.modules``, ``public.private``, ``public.public``, and ``public.types`` are now
  ``public._modules``, ``public._private``, ``public._public``, and ``public._types``.  Import the
  package itself instead, as in ``from public import public, private, populate_all``.  Among other
  things this settles what ``public.public`` refers to; it used to name both a module and the
  function of the same name that the package exports.

Other changes

* Switch to `pyrefly <https://pyrefly.org/>`_ for type checking.
@
text
@@@comment $NetBSD: PLIST,v 1.6 2025/05/20 12:06:56 adam Exp $
${PYSITELIB}/${WHEEL_INFODIR}/METADATA
${PYSITELIB}/${WHEEL_INFODIR}/RECORD
${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE
${PYSITELIB}/public/__init__.py
${PYSITELIB}/public/__init__.pyc
${PYSITELIB}/public/__init__.pyo
${PYSITELIB}/public/_modules.py
${PYSITELIB}/public/_modules.pyc
${PYSITELIB}/public/_modules.pyo
${PYSITELIB}/public/_private.py
${PYSITELIB}/public/_private.pyc
${PYSITELIB}/public/_private.pyo
${PYSITELIB}/public/_public.py
${PYSITELIB}/public/_public.pyc
${PYSITELIB}/public/_public.pyo
${PYSITELIB}/public/_resolve.py
${PYSITELIB}/public/_resolve.pyc
${PYSITELIB}/public/_resolve.pyo
${PYSITELIB}/public/_startup.py
${PYSITELIB}/public/_startup.pyc
${PYSITELIB}/public/_startup.pyo
${PYSITELIB}/public/_types.py
${PYSITELIB}/public/_types.pyc
${PYSITELIB}/public/_types.pyo
${PYSITELIB}/public/py.typed
@


1.6
log
@py-atpublic: updated to 6.0.1

6.0.1 (2025-05-06)
Fix test suite when run with Python < 3.12.
Add test for Python 3.14.

6.0 (2025-05-06)
Added populate_all() which can be called from the bottom of your module to infer and populate your module’s __all__. Use this if you don’t like the decorator syntax.
Documentation improvements.
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.5 2023/10/28 19:56:57 wiz Exp $
d9 18
a26 9
${PYSITELIB}/public/modules.py
${PYSITELIB}/public/modules.pyc
${PYSITELIB}/public/modules.pyo
${PYSITELIB}/public/private.py
${PYSITELIB}/public/private.pyc
${PYSITELIB}/public/private.pyo
${PYSITELIB}/public/public.py
${PYSITELIB}/public/public.pyc
${PYSITELIB}/public/public.pyo
a27 3
${PYSITELIB}/public/types.py
${PYSITELIB}/public/types.pyc
${PYSITELIB}/public/types.pyo
@


1.5
log
@python/wheel.mk: simplify a lot, and switch to 'installer' for installation

This follows the recommended bootstrap method (flit_core, build, installer).

However, installer installs different files than pip, so update PLISTs
for all packages using wheel.mk and bump their PKGREVISIONs.
@
text
@d1 1
a1 1
@@comment $NetBSD$
d9 3
@


1.4
log
@py-atpublic: updated to 4.0

4.0 (2023-06-05)
Drop Python 3.7 support
Remove public.install() which was used to inject the public and private functions into the builtins namespace. This isn’t very helpful and could be actively harmful. Explicit is better than implicit.
The functional form of public() now returns the argument values in the order they are given. This allows you to explicitly bind those values to names in the global namespace. While this is redundant, it does solve some linter problems.
Switch from flake8 and isort to ruff for code quality.
Bump dependencies.
@
text
@d1 1
a1 2
@@comment $NetBSD: PLIST,v 1.3 2021/04/16 05:40:25 adam Exp $
${PYSITELIB}/${WHEEL_INFODIR}/INSTALLER
a3 1
${PYSITELIB}/${WHEEL_INFODIR}/REQUESTED
a4 1
${PYSITELIB}/${WHEEL_INFODIR}/direct_url.json
d8 1
d11 1
d14 1
d18 1
@


1.3
log
@py-atpublic: updated to 2.3

2.3 (2021-04-13)
================
* Do type hinting the right way.

2.2 (2021-04-13)
================
* ``public()`` and ``private()`` can't be correctly type annotated, so the
  type hints on these two functions have been removed.  The ``ModuleAware``
  was also removed.
* Added a ``py.typed`` file to satisfy type checkers.
* Fixed a documentation cross-reference bug.
@
text
@d1 8
a8 7
@@comment $NetBSD: PLIST,v 1.2 2020/10/23 07:21:23 adam Exp $
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
${PYSITELIB}/${EGG_INFODIR}/requires.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
a10 1
${PYSITELIB}/public/__init__.pyo
a12 1
${PYSITELIB}/public/private.pyo
a14 1
${PYSITELIB}/public/public.pyo
a17 1
${PYSITELIB}/public/types.pyo
@


1.2
log
@py-atpublic: updated to 2.1.1

2.1.1:

Rename top-level tests/ directory to test/

2.1:

Clean up some typing problems.
Reorganized docs and tests out of the code directory.
Fix the Windows CI tests.

2.0:

Drop Python 3.4 and 3.5; add Python 3.8 and 3.9.
The C implementation is removed.
Added an @@private decorator
Build and test on Windows in addition to Linux.
Fix the doctests so that they actually run and pass!
Add type annotations and API reference documentation.
Internal improvements and modernizations.
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.1 2017/04/25 17:06:38 fhajny Exp $
d17 1
@


1.1
log
@Import atpublic 0.5 as devel/py-atpublic.

This is a very simple decorator and function which populates a
module's __all__ and optionally the module globals.
@
text
@d1 1
a1 1
@@comment $NetBSD$
d5 2
d9 1
d11 5
a15 1
${PYSITELIB}/public/__init__.pyc
d17 3
a19 8
${PYSITELIB}/public/public.pyc
${PYSITELIB}/public/public.py
${PYSITELIB}/public/tests/__init__.py
${PYSITELIB}/public/tests/__init__.pyo
${PYSITELIB}/public/tests/__init__.pyc
${PYSITELIB}/public/tests/test_public.pyo
${PYSITELIB}/public/tests/test_public.pyc
${PYSITELIB}/public/tests/test_public.py
@

