semvec/pypi-packages huggingface dataset:
django-reporting-endpoints 0.9.5
"Django app for receiving browser's Reporting API reports."
License: MIT
Requires Python: >=3.8
Keywords: Django

==========================
django-reporting-endpoints
==========================

.. image:: https://img.shields.io/readthedocs/django-reporting-endpoints?style=for-the-badge
   :target: https://django-reporting-endpoints.readthedocs.io/en/latest/

.. image:: https://img.shields.io/github/actions/workflow/status/seporaitis/django-reporting-endpoints/main.yml?branch=main&style=for-the-badge
   :target: https://github.com/seporaitis/django-reporting-endpoints/actions?workflow=CI

.. image:: https://img.shields.io/badge/Coverage-100%25-success?style=for-the-badge
   :target: https://github.com/seporaitis/django-reporting-endpoints/actions?workflow=CI

.. image:: https://img.shields.io/pypi/v/django-reporting-endpoints.svg?style=for-the-badge
   :target: https://pypi.org/project/django-reporting-endpoints/

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg?style=for-the-badge
   :target: https://github.com/psf/black

.. image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white&style=for-the-badge
   :target: https://github.com/pre-commit/pre-commit
   :alt: pre-commit

Django app for receiving browser's `Reporting API <https://www.w3.org/TR/reporting-1/>`__ reports.

Documentation
-------------

Please see https://django-reporting-endpoints.readthedocs.io/ .
flex-config 3.0.0
Easily configure Python apps via environment variables, YAML, and AWS SSM Param Store.
License: MIT
Requires Python: >=3.10,<4.0
Keywords: config,AWS,SSM,serverless,environment

# Flex Config
[![codecov](https://codecov.io/gh/triaxtec/flex-config/branch/master/graph/badge.svg?token=3utvPfZSLB)](https://codecov.io/gh/triaxtec/flex-config)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Generic badge](https://img.shields.io/badge/type_checked-mypy-informational.svg)](https://mypy.readthedocs.io/en/stable/introduction.html)
[![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://lbesson.mit-license.org/)


Configure your applications as easily as possible.

## Main Features
### Load config from wherever
- Comes with built in support for loading from dicts, environment variables, JSON/YAML/TOML files, and AWS SSM Parameter Store.
- Super easy to set up a custom source and load from anywhere.

### Type conversion, validation, and hints via [Pydantic]
```python
# "ConfigSchema" is pydantic's BaseModel renamed and re-exported for easier use 
from flex_config import ConfigSchema, construct_config

class Config(ConfigSchema):
    a_string: str
    an_int: int

# Raises ValidationError
my_bad_config = construct_config(Config, {"a_string": ["not", "a", "string"], "an_int": "seven"})

my_good_config = construct_config(Config, {"a_string": "my_string", "an_int": "7"})
assert isinstance(my_good_config.an_int, int)
```

### Dynamic loading of config values
```python
from pathlib import Path
from typing import Dict, Any

# "ConfigSchema" is pydantic's BaseModel renamed and re-exported for easier use 
from flex_config import ConfigSchema, construct_config, AWSSource, YAMLSource, EnvSource, ConfigSource

class Config(ConfigSchema):
    env: str
    my_thing: str

def get_ssm_params(config_so_far: Dict[str, Any]) -> ConfigSource:
    # env is set to live or dev via environment variables in the deployment environment
    env = config_so_far.get("env")
    if env == "local":  # Not a live deployment, my_thing is in a local yaml file
        return {}
    return AWSSource(f"my_app/{config_so_far['env']}")


my_config = construct_config(Config, [EnvSource("MY_APP_"), YAMLSource(Path("my_file.yaml")), get_ssm_params])
```

## Installation
Basic install: `poetry install flex_config`
With all optional dependencies (support for AWS SSM, YAML, and TOML): `poetry install flex_config -E all`

For a full tutorial and API docs, check out the [hosted documentation]

[Pydantic]: https://github.com/samuelcolvin/pydantic/
[hosted documentation]: https://triaxtec.github.io/flex-config