Skip to content

Releases: BrianPugh/cyclopts

v1.2.0

20 Dec 22:17
33d64e3
Compare
Choose a tag to compare

Features

  • App now takes an optional parameter default_parameter: Parameter that allows the configuration of what values a default Parameter uses. Parameters now have a resolution order for determining configuration values. Basically it goes (highest-to-lowest priority)annotated parameter -> parenting app default -> parenting-parenting app default -> .... by @BrianPugh in #33
  • New classmethod Parameter.combine which can construct a new, single, Parameter from multiple Parameters.
  • New classmethod Parameter.default which is similar to Parameter(), but it will override all parenting Parameters.
  • App and Parameter's repr strings have been greatly simplified to only include non-default supplied parameters.

Bug Fixes

  • conditionally import typing_extensions by @BrianPugh in #34
  • use importlib.metadata to check distribution version. by @BrianPugh in #36
  • Handle mutable signature parameter defaults. by @BrianPugh in #37

Breaking Changes

This release technically contains some breaking changes, but realistically no-one should be impacts.

  • Removed MultipleParameterAnnotationError; we now handle multiple Parameter resolution. Specifically, for mutliple Parameter in an Annotated, they are evaluated left->right (right-most has highest precedence/priority).
  • All of Parameter's defaults are now None. No change in default functionality.

Full Changelog: v1.1.1...v1.2.0

v1.1.1

19 Dec 06:37
Compare
Choose a tag to compare

Bug Fixes

  • Fix error-handling of POSITIONAL_ONLY, VAR_KEYWORD, and VAR_POSITIONAL arguments. by @BrianPugh in #27

Full Changelog: v1.1.0...v1.1.1

v1.1.0

16 Dec 00:54
b41d25f
Compare
Choose a tag to compare

Features

  • Add environment variable parsing via Parameter.env_var. by @BrianPugh in #20
  • Allow multiple names for a command. by @BrianPugh in #22

Full Changelog: v1.0.2...v1.1.0

v1.0.2

13 Dec 04:34
5e3a478
Compare
Choose a tag to compare

Bugfix

  • attempt to import readline so that arrows work in interactive_shell.

Full Changelog: v1.0.1...v1.0.2

v1.0.1

08 Dec 00:40
1f6640b
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.0.0...v1.0.1

v1.0.0

05 Dec 06:07
Compare
Choose a tag to compare

Major release; I'm happy with the API and overall performance.

What's Changed

  • Make show_choices be optional to not close any doors for future comptability. by @BrianPugh in #12
  • Make converter be Optional to not close any doors for future compatility by @BrianPugh in #13

New Contributors

Full Changelog: v0.2.0...v1.0.0

v0.2.0

04 Dec 01:57
Compare
Choose a tag to compare

What's Changed

  • add dispatcher argument to interactive_shell by @BrianPugh in #8
  • Fix Optional[Annotated[...]] resolution. by @BrianPugh in #9
  • Don't display defaults if the default value is None. by @BrianPugh in #10

Full Changelog: v0.1.2...v0.2.0

v0.1.2

02 Dec 23:31
ef44925
Compare
Choose a tag to compare

What's Changed

  • Don't consider show=False or parse=False parameters when determining column layout in help text by @BrianPugh in #5
  • Simplify name when autoderived from sys.argv[0] by @BrianPugh in #6
  • Fix fallback meta default help by @BrianPugh in #7
    • If an App doesn't have explicit help text, it should fallback to app.default_command.__doc__, then app.meta.default_command, app.meta.meta.default_command, and so on.
  • Fixes displaying meta commands in help screen.
  • Added pages for "--help" and "--version" to the docs.

Full Changelog: v0.1.1...v0.1.2

v0.1.1

30 Nov 06:00
8d11efe
Compare
Choose a tag to compare

What's Changed

  • Removed app.__len__, causes more confusion than convenience it provided.
  • fix annotations not properly resolving in python3.8 by @BrianPugh in #3
  • Fix help parameters special columns by @BrianPugh in #4

Full Changelog: v0.1.0...v0.1.1

v0.1.0 - Initial Release

26 Nov 23:08
1c722f4
Compare
Choose a tag to compare