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

Open
wants to merge 30 commits into
base: main
Choose a base branch
from
Open
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
0fc6706
Start of v2 development
geowurster Oct 29, 2023
c40a976
Update copyright year
geowurster Nov 2, 2023
5dcbcff
Simplify .gitignore
geowurster Nov 2, 2023
f1d292a
Update developer instructions
geowurster Nov 2, 2023
07c3b2e
Switch to reStructuredText
geowurster Nov 2, 2023
a759a21
Use Tox instead of Travis-CI
geowurster Nov 2, 2023
eb2e71f
Convert to single-file package
geowurster Oct 29, 2023
13a834d
Remove emoji easter egg
geowurster Oct 29, 2023
2c80843
Do not assume an exception is active
geowurster Oct 29, 2023
4751a3f
Clearer help messages and do not guess prog_name
geowurster Oct 31, 2023
cf0dc53
BrokenPlugin() receives EntryPoint()
geowurster Oct 31, 2023
10d3cc4
Modernize code a bit
geowurster Oct 31, 2023
b85986f
Print to stderr not stdout
geowurster Oct 31, 2023
8b22c43
Move tests to a single file
geowurster Oct 31, 2023
fa31688
Use 'unittest' instead of 'pytest'
geowurster Oct 31, 2023
bd0f4ff
'pkg_resources' -> 'importlib.metadata'
geowurster Nov 2, 2023
f672fdc
Load plugins from group name or EntryPoint()/s
geowurster Feb 27, 2024
9f3d19b
Ensure '@with_plugins()' can be stacked
geowurster Mar 2, 2024
b68a801
Include module name in 'BrokenPlugin()'
geowurster Feb 27, 2024
48fb616
'click-plugins' no longer provides a pip package
geowurster Mar 2, 2024
4985de8
Remove unsupported environments
geowurster Feb 9, 2025
4ec9644
Update documentation
geowurster Feb 9, 2025
467563d
Remove example plugins
geowurster Feb 9, 2025
5019c09
Ensure license is vendored
geowurster Feb 9, 2025
36041c4
Test on Python 3.13
geowurster Feb 9, 2025
5901490
Handle click v8.2.0 behavior change
geowurster Jun 9, 2025
e8d2b1d
Brief note about what to vendor
geowurster Jun 9, 2025
4cc4658
Add language to code-block
geowurster Jun 9, 2025
ff69441
Include version in 'click_plugins.rst'
geowurster Jun 9, 2025
bf1597d
HTML documentation
geowurster Jun 9, 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
30 changes: 0 additions & 30 deletions .travis.yml

This file was deleted.

5 changes: 0 additions & 5 deletions AUTHORS.txt

This file was deleted.

44 changes: 0 additions & 44 deletions CHANGES.md

This file was deleted.

76 changes: 76 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
#########
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``.

* 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 - 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.
4 changes: 2 additions & 2 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
New BSD License

Copyright (c) 2015-2019, Kevin D. Wurster, Sean C. Gillies
Copyright (c) 2015-2025, Kevin D. Wurster, Sean C. Gillies
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand All @@ -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