Skip to main content

Typing stubs for strictyaml

Project description

Typing stubs for strictyaml

test stubtest status mypy status pyright status
last commit to gauge activity downloads
License Status: Beta

* Python 3.10 through 3.14

new in 1.7.3.1

verify CommaSeparated and Enum (#3); stubtest workflow and button;

new in 1.7.3.0

initial typing testsuite; tested against mypy pyright; publish to pypi;

Why?

strictyaml is ignored by the Python community. Instead these are promoted: TOML, Python internal yaml, pyyaml, and pydantic.

None of which strictly validate very likely malicious dangerous user input.

Feel sorry for those who have been mislead to believe, without validating against a schema, the input files are safe.

User input validation critical security issues pop up constantly. In Python at least, some of these can be avoided completely by choosing strictyaml.

History

The strictyaml author had his own ideas on how to test and document Python packages. Regardless agree with him or not, this created a barrier to entry to surmount for both potential contributors and maintainers.

Would argue that barrier, evidently, is too formidable for us average diabolical albeit lazy geniuses.

Then to add insult to injury, the author ascended to another plane of existence, leaving strictyaml unmaintained.

There exists a vacuum where there should be: stubs, pytest test suite, coverage, and Sphinx docs.

Roadmap

These stubs were created without forking strictyaml. And will help downstream authors test their packages. Hopefully lead to strictyaml acceptance by the Python community.

Static type checking performed using both mypy and pyright. With the hope that later strictyaml is forked and pytest test suite is created. So can prove coverage and allow pyright to find coding errors.

Projects

These packages input files are strictly validated against a schema.

If have a package built that is protected by strictyaml, we’d like to hear from you.

strictyaml team

Dave Faulkmore and Muneeb ur Rahman both have made contributions to strictyaml community. Both have skin in the game and would like to see strictyaml project status revived.

If share our passion, throw caution to the wind, say hmm why not?, put the effort towards writing a message, then find the mental fortitude to click the Send button.

Contributing

Create .venv

pyenv versions
mkdir .venv && cd .venv
python -m venv .
cd - &>/dev/null

. .venv/bin/activate
python -m pip install -e ".[dev]"

Run tests

Verbose and show output

make v=1 show=1 check

Quiet and save output to /tmp folder

make check

Run mypy

pytest-mypy-plugins works only with mypy, not pyright.

make premypy

Run pyright

Against stubs

pyright strictyaml-stubs/

Run pre-commit

make pre-commit

Run stubtest

Without this check, a stubs package could confidently provide incorrect type information, leading to false positives or negatives for users.

python -m pip install strictyaml types-strictyaml
stubtest  --mypy-config-file=pyproject.toml --allowlist=stubtest_allowlist.txt strictyaml > /tmp/out.txt

licenses

Lets take legal compliance seriously to show commitment to respect and acknowledge authors.

Creates NOTICE.txt, licenses.json and sbom.json

rm -rf build/lib; cd .tox && tox --root=.. -c ../tox.ini -e notice \
--workdir=. -vvv; cd - &>/dev/null
rm -rf build/lib; cd .tox && tox --root=.. -c ../tox.ini -e sbom \
--workdir=. -vvv; cd - &>/dev/null

LICENSE and NOTICE.txt are essentially the same expect LICENSE is manually maintained.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

types_strictyaml-1.7.3.1.tar.gz (35.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

types_strictyaml-1.7.3.1-py3-none-any.whl (52.4 kB view details)

Uploaded Python 3

File details

Details for the file types_strictyaml-1.7.3.1.tar.gz.

File metadata

  • Download URL: types_strictyaml-1.7.3.1.tar.gz
  • Upload date:
  • Size: 35.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for types_strictyaml-1.7.3.1.tar.gz
Algorithm Hash digest
SHA256 6eebefcd1025d163e100b87b72967dae98079d42717e46c6b7261bca38664984
MD5 7a5a12f85f10bc52dfc9bdbe1eca4815
BLAKE2b-256 15461b1a41188a568a7530f6c2eee9af3e511ae93bba46710e44cef09da76fff

See more details on using hashes here.

Provenance

The following attestation bundles were made for types_strictyaml-1.7.3.1.tar.gz:

Publisher: release.yml on msftcangoblowm/types-strictyaml

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file types_strictyaml-1.7.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for types_strictyaml-1.7.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a27fba6ae598b780058459afa201f237c6a9cc953cab03af32d14417c3c7d5a4
MD5 0f417ea185e2cdea5db16be9ba8633cc
BLAKE2b-256 4ebc98d97d3dab5dc4c06c4f9254ef193152e1c90df4ad2eb050cec94db3d6cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for types_strictyaml-1.7.3.1-py3-none-any.whl:

Publisher: release.yml on msftcangoblowm/types-strictyaml

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page