+
Skip to content

Tags: willkg/everett

Tags

v3.4.0

Toggle v3.4.0's commit message

Verified

This tag was signed with the committer’s verified signature.
willkg Will Kahn-Greene
3.4.0 (October 30th, 2024)

Backwards incompatible changes:

* Drop support for Python 3.8. Thanks, Rob!

Fixes and features:

* Add support for Python 3.13. (#260) Thanks, Rob!

* Add support for underscore as first character in variable names in env files.
  (#263)

* Add ``ChoiceOf`` parser for enforcing configuration values belong in
  specified value domain. (#253)

* Fix ``autocomponentconfig`` to support components with no options. (#244)

* Add ``allow_empty`` option to ``ListOf`` parser that lets you specify whether
  empty strings are a configuration error or not. (#268)

v3.3.0

Toggle v3.3.0's commit message

Verified

This tag was signed with the committer’s verified signature.
willkg Will Kahn-Greene
3.3.0 (November 6th, 2023)

Backwards incompatible changes:

* Dropped support for Python 3.7. (#220)

Fixes and features:

* Added support for Python 3.12 (#221)

* Fix env file parsing in regards to quotes. (#230)

v3.2.0

Toggle v3.2.0's commit message

Verified

This tag was signed with the committer’s verified signature.
willkg Will Kahn-Greene
3.2.0 (March 21st, 2023)

Fixes and features:

* Implement ``default_if_empty`` argument which will return the default value
  (if specified) if the value is the empty string. (#205)

* Implement ``parse_time_period`` parser for converting time periods like "10m4s"
  into the total number of seconds that represents.

  ::

      >>> from everett.manager import parse_time_period
      >>> parse_time_period("4m")
      240

  (#203)

* Implement ``parse_data_size`` parser for converting values like "40gb" into
  the total number of bytes that represents.

  ::

      >>> from everett.manager import parse_data_size
      >>> parse_time_period("40gb")
      40000000000

  (#204)

* Fix an ``UnboundLocalError`` when using ``automoduleconfig`` and providing a
  Python dotted path to a thing that either kicks up an ``ImportError`` or
  doesn't exist. Now it raises a more helpful error. (#201)

v3.1.0

Toggle v3.1.0's commit message

Verified

This tag was signed with the committer’s verified signature.
willkg Will Kahn-Greene
3.1.0 (October 26th, 2022)

Fixes and features:

* Add support for Python 3.11. (#187)

* Add ``raise_configuration_error`` method on ``ConfigManager``. (#185)

* Improve ``automoduleconfig`` to walk the whole AST and document configuration
  set by assign::

      SOMEVAR = _config("somevar")

  and dict::

      SOMEGROUP = {
          "SOMEVAR": _config("somevar"),
      }

  (#184)

* Fix options not showing up on ReadTheDocs. (#186)

v3.0.0

Toggle v3.0.0's commit message

Verified

This tag was signed with the committer’s verified signature.
willkg Will Kahn-Greene
3.0.0 (January 13th, 2022)

Backwards incompatible changes:

* Dropped support for Python 3.6. (#176)

* Dropped ``autocomponent`` Sphinx directive in favor of
  ``autocomponentconfig``.

Fixes and features:

* Add support for Python 3.10. (#173)

* Rework namespaces so that you can apply a namespace (``with_namespace()``)
  after binding a component (``with_options()``) (#175)

* Overhauled, simplified, and improved documentation. Files with example output
  are now generated using `cog <https://pypi.org/project/cogapp/>`_.

* Rewrite Sphinx extension.

  This now supports manually documenting configuration using
  ``everett:component`` and ``everett:option`` directives.

  This adds ``:everett:component:`` and ``:everett:option:`` roles for linking
  to specific configuration in the docs.

  It also addsh ``autocomponentconfig`` and ``automoduleconfig`` directives for
  automatically generating documentation.

  When using these directives, items are added to the index and everything is
  linkable making it easier to find and talk to users about specific
  configuration items. (#172)

v2.0.1

Toggle v2.0.1's commit message

Verified

This tag was signed with the committer’s verified signature.
willkg Will Kahn-Greene
2.0.1 (August, 23rd, 2021)

Fixes:

* Fix Sphinx warning about roles in Everett sphinxext. (#165)

* Fix ``get_runtime_config`` to work with slots (#166)

v2.0.0

Toggle v2.0.0's commit message

Verified

This tag was signed with the committer’s verified signature.
willkg Will Kahn-Greene
2.0.0 (July 27th, 2021)

Backwards incompatible changes:

* This radically reduces the boilerplate required to define components. It also
  improves the connections between things so it's easier to:

  * determine the configuration required for a single component (taking into
    account superclasses, overriding, etc)
  * determine the runtime configuration for a component tree given a
    configuration manager

  Previously, components needed to subclass RequiredConfigMixin and provide a
  "required_config" class attribute. Something like this::

      from everett.component import RequiredConfigMixin, ConfigOptions

      class SomeClass(RequiredConfigMixin):
          required_config = ConfigOptions()
          required_config.add_option(
              "some_option",
              default="42",
          )

  That's been slimmed down and now looks like this::

      from everett.manager import Option

      class SomeClass:
          class Config:
              some_option = Option(default="42")

  That's much simpler and the underlying implementation code is less tangled
  and complex, too.

  If you used ``everett.component.RequiredConfigMixin`` or
  ``everett.component.ConfigOptions``, you'll need to update your classes.

  If you didn't use those things, then you don't have to make any changes.

  See the documentation on components for how it all works now.

* Changed the way configuration variables are referred to in configuration
  error messages. Previously, I tried to use a general way "namespace=something
  key=somethingelse" but that's confusing and won't match up with project
  documentation.

  I changed it to the convention used in the process environment and
  env files. For example, ``FOO_BAR``.

  If you use INI or YAML for configuration, you can specify a ``msg_builder``
  argument when you build the ``ConfigManager`` and build error messages
  tailored to your users.

Fixes:

* Switch to src/ repository layout.

* Added type annotations and type checking during CI. (#155)

* Standardized on f-strings across the codebase.

* Switched Sphinx theme.

* Update of documentation, fleshed out and simplified examples, cleaned up
  language, reworked structure of API section (previously called Library or
  some unhelpful thing like that), etc.

v1.0.3

Toggle v1.0.3's commit message

Verified

This tag was signed with the committer’s verified signature.
willkg Will Kahn-Greene
Release 1.0.3 (October 28th, 2020)

Backwards incompatible changes:

* Dropped support for Python 3.4. (#96)
* Dropped support for Python 3.5. (#116)

Fixes:

* Add support for Python 3.7. (#68)
* Add support for Python 3.8. (#102)
* Add support for Python 3.9. (#117)
* Reformatted code with Black, added Makefile, switched to GitHub Actions.
* Fix ``get_runtime_config()`` to infer namespaces. (#118)
* Fix ``RemovedInSphinx50Warning``. (#115)
* Documentation fixes and clarifications.

v1.0.2

Toggle v1.0.2's commit message

Verified

This tag was signed with the committer’s verified signature.
willkg Will Kahn-Greene
1.0.2 (February 22nd, 2019)

Fixes:

* Improve documentation.

* Fix problems when there are nested ``BoundConfigs``. Now they work
  correctly. (#90)

* Add "meta" to options letting you declare additional data on the option
  when you're adding it.

  For example, this lets you do things like mark options as "secrets"
  so that you know which ones to ``******`` out when logging your
  configuration. (#88)

v1.0.1

Toggle v1.0.1's commit message
1.0.1 (January 8th, 2019)

-------------------------

Fixes:

* Fix documentation issues.

* Package missing ``everett.ext``. Thank you, dsblank! (#84)
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载