Skip to content

Version 2.0 #40

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 30 commits into from
Jun 25, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
18066d6
Start of v2 development
geowurster Oct 29, 2023
90c7979
Simplify .gitignore
geowurster Nov 2, 2023
eaff864
Update developer instructions
geowurster Nov 2, 2023
8ead1e2
Switch to reStructuredText
geowurster Nov 2, 2023
ca767c1
Use Tox instead of Travis-CI
geowurster Nov 2, 2023
157c104
Convert to single-file package
geowurster Oct 29, 2023
3fcc106
Remove emoji easter egg
geowurster Oct 29, 2023
b62d6a5
Do not assume an exception is active
geowurster Oct 29, 2023
27e6833
Clearer help messages and do not guess prog_name
geowurster Oct 31, 2023
8214be9
BrokenPlugin() receives EntryPoint()
geowurster Oct 31, 2023
46de049
Modernize code a bit
geowurster Oct 31, 2023
9307499
Print to stderr not stdout
geowurster Oct 31, 2023
d273efe
Move tests to a single file
geowurster Oct 31, 2023
63fae3b
Use 'unittest' instead of 'pytest'
geowurster Oct 31, 2023
b972c07
'pkg_resources' -> 'importlib.metadata'
geowurster Nov 2, 2023
0a40db0
Load plugins from group name or EntryPoint()/s
geowurster Feb 27, 2024
779314b
Ensure '@with_plugins()' can be stacked
geowurster Mar 2, 2024
e900dac
Include module name in 'BrokenPlugin()'
geowurster Feb 27, 2024
09404f9
'click-plugins' no longer provides a pip package
geowurster Mar 2, 2024
d63bbcd
Remove unsupported environments
geowurster Feb 9, 2025
a33715a
Update documentation
geowurster Feb 9, 2025
9c51a9d
Remove example plugins
geowurster Feb 9, 2025
68e0c36
Ensure license is vendored
geowurster Feb 9, 2025
e693532
Test on Python 3.13
geowurster Feb 9, 2025
29e66eb
Handle click v8.2.0 behavior change
geowurster Jun 9, 2025
bb57439
Brief note about what to vendor
geowurster Jun 9, 2025
fff6756
Add language to code-block
geowurster Jun 9, 2025
ec53925
Include version in 'click_plugins.rst'
geowurster Jun 9, 2025
04cc8df
HTML documentation
geowurster Jun 9, 2025
485d872
v2 release
geowurster Jun 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 8 additions & 106 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,111 +1,13 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so
# Python bytecode
*.pyc

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
# Python packaging
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
__pycache__/
build/

# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# python3 -m venv venv
venv

# Unit test / coverage reports
htmlcov/
# tox
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json
5 changes: 0 additions & 5 deletions AUTHORS.txt

This file was deleted.

6 changes: 6 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
Changelog
=========

2.0 - TBD
---------

Final release. Repository now serves as a reference implementation, and
contains a file that users may vendor in order to use `click-plugins`.

1.1.1.2 - 2025-06-24
--------------------

Expand Down
86 changes: 86 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
#########
Changelog
#########

2.0 - 2025-06-24
================

Final release. Repository now serves as a reference implementation, and
contains a file that users may vendor in order to use ``click-plugins``.

* Handle ``click`` version ``8.2.0`` behavior change in tests.
* Migrate from the deprecated ``pkg_resources.iter_entry_points()`` to
``importlib.metadata.entry_points()``.
* Convert ``click_plugins/`` to a single ``click_plugins.py`` file. Users may
copy this file into their project to use ``click-plugins``.
* Drop Travis-CI and optionally use `Tox <https://tox.wiki>`_ for a full test
matrix. This project is winding down and no longer needs a CI system.
* Use ``unittest`` instead of ``pytest`` for tests. This eliminates one direct
and several transitive dependencies, and makes it easier for users to test
and deploy ``click_plugins.py`` in their environment.
* Error messages for broken plugins are now emitted to ``stderr`` instead of
``stdout``.
* ``@with_plugins()`` accepts an entrypoint group name, an ``EntryPoint()``,
or a sequence of ``EntryPoint()`` instances.
* Remove ``pip`` packaging machinery. Users should vendor.

1.1.1.2 - 2025-06-24
====================

- Add a clear note stating that the package is no longer maintained, but the library can be vendored.

1.1.1.1 - 2025-06-24
====================

- Mark the project as inactive.

1.1.1 - 2019-04-04
==================

* Fixed a version mismatch in ``click_plugins/__init__.py``. See ``1.1``.

1.1 - 2019-04-04
================

* `#25 <https://github.com/click-contrib/click-plugins/issues/25>`_ - Fix an
issue where a broken command's traceback would not be emitted.
* `#28 <https://github.com/click-contrib/click-plugins/pull/28>`_ - Bump
required click version to ``click>=4``.
* `#28 <https://github.com/click-contrib/click-plugins/pull/28>`_ - Runs Travis
tests for the latest release of ``click`` versions ``>=4,<8``
(approximately).

1.0.4 - 2018-09-15
==================

* `#9 <https://github.com/click-contrib/click-plugins/issues/19>`_ - Preemptive
fix for a breaking change in ``click`` v7. CLI command names generated from
functions with underscores will have dashes instead of underscores.


1.0.3 - 2016-01-05
==================

* Include tests in ``MANIFEST.in``. See further discussion in
`#8 <https://github.com/click-contrib/click-plugins/pull/8>`_.


1.0.2 - 2015-09-23
------------------

* General packaging and Travis-CI improvements.
* `#8 <https://github.com/click-contrib/click-plugins/pull/8>`_ - Don't
include tests in ``MANIFEST.in``


1.0.1 - 2015-08-20
==================

* `#5 <https://github.com/click-contrib/click-plugins/pull/5>`_ - Fixed a typo
in an error message.


1.0 - 2015-07-20
================

- Initial release.
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7 changes: 0 additions & 7 deletions MANIFEST.in

This file was deleted.

Loading