NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4166 most downloaded on PyPI
The smartest command line arguments parser in the world
Last release 27 days ago
07 Sep 2026
Release timing varies
gaps range from 3 weeks to 1.5 years
Most releases are documented
notes for 33 of 38 stable releases
2 versions withdrawn
withdrawn after publishing
16 years old
40 releases · first in 2010
Nothing published for this version
Merge branch 'mr-c-python3.14'
Merge branch 'mr-c-python3.14'
changes for PyPI documentation
One column per quarter.
changes for PyPI documentation
release 1.4.3 tests pass with Python 3.13
release 1.4.3 tests pass with Python 3.13
Nothing published for this version
added the Interpret back to plac
added the Interpret back to plac
Removed dependency on asyncore to make the release Python 3.12 ready
Removed dependency on asyncore to make the release Python 3.12 ready
Removed plac server based functionality which were asyncore based and as such deprecated in Python 3.10.
removed test, bumped version to 1.3.5, closes #71
removed test, bumped version to 1.3.5, closes #71
released version 1.3.4 as noted in #64
released version 1.3.4 as noted in #64
Ensured tests using plac_runner use the same version of Python as them. Fixed the tests on Python 3.9 and 3.10 and enabled Travis for them. Prevent the tests from cluttering the test user's home directory. Removed the pre-generated documentation, please use Read the Docs. Cleaned up many minor issues in the documentation. Removed use of obsolete SQLSoup library and features that used it. Fixed issue with str as type hint. Added more tests/examples.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Thanks to Istvan Albert, it is now possible to use language keywords and builtins as option/flag names. Some broken links were fixed and the documenta
Thanks to Istvan Albert, it is now possible to use language keywords and builtins as option/flag names. Some broken links were fixed and the documentation has been moved to https://plac.readthedocs.io, while the CI framework has changed from Travis to GitHub actions.
Added dedenting of usage docstrings, as requested by Istvan Albert. Added new decorators plac.pos, plac.opt, plac.flg and an example using them in a s
Added dedenting of usage docstrings, as requested by Istvan Albert.
Added new decorators plac.pos, plac.opt, plac.flg and an example
using them in a section "For the impatient".
Added tests on travis for Python 3.8.
Fixed some issues with kwargs parsing, docstring formatting and empty string defaults reported by the user https://github.com/isaacto. Changed the tes
Fixed some issues with kwargs parsing, docstring formatting and empty string defaults reported by the user https://github.com/isaacto. Changed the testing framework on travis from nosetest to pytest. Ported the documentation to sphinx.
Moreover, at user request, removed a Python 3.7 deprecation warning, added a LICENSE.txt file and a Quickstart section to the README. plac is tested o…
Extended the recognition of default types to date and datetime in ISO format. Fixed a bug when running plac scripts from Jupyter notebooks, signaled by https://github.com/ursachi and https://github.com/rkpatel33. Moreover, at user request, removed a Python 3.7 deprecation warning, added a LICENSE.txt file and a Quickstart section to the README. plac is tested on Travis for Python 2.7 and 3.4+ but it should work also for all the other 3.X releases.
Stable release. There are no plans to change plac in the near future.
Stable release. There are no plans to change plac in the near future.
New feature, requested by John Didion: if the type of an argument is not
specified but there is a default value, it is inferred from it. This is
experimental and works only for Python literal types.
Fixed a bug caused by arguments with default None in newer versions of argparse.
Added a gh-pages branch with the documentation, as suggested by Ryan Gonzalez.
Extended the Travis testing to Python 3.6. Python 2.6 still works but it is
untested and therefore deprecated.
Solved an issue with non-ASCII characters; now any UTF-8 character can go in the help message. Added support for --version in plac.call. Modernized th
Solved an issue with non-ASCII characters; now any UTF-8 character
can go in the help message. Added support for --version in plac.call.
Modernized the changelog https://keepachangelog.com/
Removed a usage of print >> that was breaking Python 3, signaled by Quentin Pradet
Removed a usage of print >> that was breaking Python 3, signaled
by Quentin Pradet
Removed use_2to3 in setup.py which was breaking Python 2, signaled by Quentin Pradet
Removed use_2to3 in setup.py which was breaking Python 2, signaled by Quentin Pradet
Fixed the tests on Python 3 and produced a universal wheel instead of relying on 2to3. Enabled Travis builds for Python 3.3, 3.4, 3.5
Fixed the tests on Python 3 and produced a universal wheel instead of relying on 2to3. Enabled Travis builds for Python 3.3, 3.4, 3.5
Moved the repository from GoogleCode to GitHub. Included the doc fixes by Nicola Larosa and polished the code base to be PEP 8 compliant. Enabled Trav
Moved the repository from GoogleCode to GitHub. Included the doc fixes by Nicola Larosa and polished the code base to be PEP 8 compliant. Enabled Travis builds for Python 2.6 and 2.7
Options and flags can now contain dashes (i.e. --dry-run is valid and translated into dry_run, you are not forced to use --dry-run anymore); restored
Options and flags can now contain dashes (i.e. --dry-run is valid and
translated into dry_run, you are not forced to use --dry-run anymore);
restored the monitor support temporarily removed in 0.9.0, fixed an issue
with tuple defaults and fixed the display of the help command; specified
which features are experimental and which features are fully supported
Default values are now displayed in the help message by default; removed .help and introduced help; removed the special dotted commands from the usage
Default values are now displayed in the help message by default;
removed .help and introduced help; removed the special dotted
commands from the usage message; added an Interpreter.Exit
exception; removed the experimental monitor framework because
it is too much platform-dependent; added a reference
to Argh; now plac has its own space on Google Code
Removed a stray newline in the output of plac, as signaled by Daniele Pighin; fixed a bug in the doctest method raising non-existing exceptions; turne
Removed a stray newline in the output of plac, as signaled by Daniele Pighin; fixed a bug in the doctest method raising non-existing exceptions; turned the notification messages into unicode strings; removed an ugly SystemExit message for invalid commands, signaled by Tuk Bredsdorff
Added a monitor framework and a TkMonitor
Added a monitor framework and a TkMonitor
Fixed a bug with the help of subcommands, signaled by Paul Jacobson; added the ability to save the output of a command into a file; postponed the impo
Fixed a bug with the help of subcommands, signaled by Paul Jacobson; added the ability to save the output of a command into a file; postponed the import of the readline module to avoid buffering issues; fixed a bug with the traceback when in multiprocessing mode
Fixed the plac_runner switches -i and -s; fixed a bug with multiline output and issue with nosetest
Fixed the plac_runner switches -i and -s; fixed a bug with multiline output and issue with nosetest
Put the documentation in a single document; added runp
Put the documentation in a single document; added runp
Interpreter.call does not start an interpreter automagically anymore; better documented and added tests for the metavar concept (2010-08-31)
Interpreter.call does not start an interpreter automagically anymore; better documented and added tests for the metavar concept (2010-08-31)
A few bug fixes
A few bug fixes
Improved and documented the support for parallel programming; added an asynchronous server; added plac.Interpreter.call
Improved and documented the support for parallel programming; added an asynchronous server; added plac.Interpreter.call
Fixed the history file location; added the ability to pass a split function; added two forgotten files; added a reference to cmd2 by Catherine Devlin
Fixed the history file location; added the ability to pass a split function; added two forgotten files; added a reference to cmd2 by Catherine Devlin
Improved the interactive experience with full readline support and custom help. Added support for long running command, via threads and processes
Improved the interactive experience with full readline support and custom help. Added support for long running command, via threads and processes
Gigantic release. Introduced smart options, added an Interpreter class and the command container concept. Made the split plac/plac_core/plac_ext and a
Gigantic release. Introduced smart options, added an Interpreter class and the command container concept. Made the split plac/plac_core/plac_ext and added a plac runner, able to run scripts, batch files and doctests. Removed the default formatter class
Fixed the installation procedure to automatically download argparse if needed
Fixed the installation procedure to automatically download argparse if needed
Added missing .help files, made the tests generative and added a note about Clap in the documentation
Added missing .help files, made the tests generative and added a note about Clap in the documentation
Changed the default formatter class and fixed a bug in the display of the default arguments. Added more stringent tests.
Changed the default formatter class and fixed a bug in the display of the default arguments. Added more stringent tests.
abbrev is now optional. Added a note about CLIArgs and opterate. Added keyword arguments recognition. plac.call now returns the the output of the main
abbrev is now optional. Added a note about CLIArgs and opterate.
Added keyword arguments recognition. plac.call now returns the
the output of the main function.
First released version.
First released version.
Your coding agent can read these notes before it upgrades. Set up the MCP server →