Skip to main content

Library Package: application_properties

Project Version Python Versions platforms License GitHub top language
Quality GitHub Workflow Status (event) Issues codecov Sourcery Dynamic JSON Badge
Dynamic JSON Badge Dynamic JSON Badge Dynamic JSON Badge Dynamic JSON Badge Dynamic JSON Badge Dynamic JSON Badge Dynamic JSON Badge
Community Maintenance Stars Forks Contributors Downloads
Maintainers LinkedIn

Jumping Off Points

  • I want a high-level overview.
    Stay on this page to learn what application_properties is, why you might use it, what it can do, and whether it fits your projects.
  • I've decided to use application_properties and want to start quickly.
    Follow our Quick Start guides to learn the core concepts and start incorporating configuration into your Python projects with easy-to-follow examples.
  • I've finished the Quick Starts or want deeper details.
    Read the full documentation for TBD.

What Is application_properties?

The application_properties package was born out of necessity. During the creation of the PyMarkdown project, there was a distinct need for a configuration subsystem that was able to handle more complex configuration scenarios, such as only exposing relevant configuration to the Rule Plugins that are a key part of PyMarkdown's rule system.

The application_properties package is for Pythond developers who want to add solidly-tested plug-and-play configuration retrieval to their projects with a minimum of fuss and management. The package has the following advantages:

  • Thoroughly tested
    • The project currently has over 280 tests and coverage percentages over 99%.
  • Simple... With Examples
    • The package was created with the intention of being as easy to use as possbile.
  • Complex When Required
    • The default is simplicity, but the package can step up when required to do so.
    • Any actions outside of the simple scenario of getting an optional string value should be relatively easy to request of the package API.
  • Hierarchically Aware
    • By default, uses the . character in the property names to define levels of hierarchy.
    • Hierarchy levels can be used to find only those properties that exist under a given hierarchy.
    • If desired for use cases that involve shared configuration, such as with PyMarkdown's Rule Plugins, the ApplicationPropertiesFacade object can be used to restrict access to only those properties that exist under a given hierarchy.
  • Command Line Aware
    • The set_manual_property function provides for one or more individual properties to be supplied by the command line.
  • Extensible
    • The loading of the properties is separate from access to the values for those properties.
    • Due to the separation of the loading and accessing parts of the library, custom loading classes can be added with ease.
      • Current loading classes include configuration file loaders for JSON files, YAML files, and TOML files.

Requirements

This project requires Python 3.10 or later to function.

Getting Started

If you are still with us at this point, you probably want to try this package out for yourself and see if we can live up to our claims in the previous section. To faciliate this, we have prepared Quick Start guides that walk your through the most common use cases for the application_properties package.

When you finish trying out the Quick Start guides for yourself, consider walking through one of more sections of our full documentation to get more information on how application_properties can help you with your Python configuration needs.

Metadata

Release files for application-properties 0.9.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for application-properties 0.9.3
File Size Uploaded
application_properties-0.9.3.tar.gz 43.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for application-properties 0.9.3
File Interpreter ABI Platform
application_properties-0.9.3-py3-none-any.whl Python 3 none any Details

Total release size: 67.9 kB

Release files / application_properties-0.9.3.tar.gz

Download URL application_properties-0.9.3.tar.gz
Size 43.3 kB
Tags Source
SHA-256 checksum
How to use checksums
7dc7d8f23d11e539427e7b8e3afa70353e159c16f703bad6dd082cc6cdfeeaa8
BLAKE2b-256 checksum
How to use checksums
c0bb321da0e373416080801d05b8dd9c0a8da77fe305c697adf8c025470ce170
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release files / application_properties-0.9.3-py3-none-any.whl

Download URL application_properties-0.9.3-py3-none-any.whl
Size 24.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
32dbd62b3fb657ec1c7fdc352590463c2ffd14950ffd258a5c091e8798d8aec0
BLAKE2b-256 checksum
How to use checksums
95723ac1bda73e9c95444b1e13a0de73e847048a776e5ac5b3977c37f04167f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release history Release notifications | RSS feed

This release

0.9.3 This release

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page