Skip to main content

types-strictyaml

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.3

mypy pass; Any kills board;

new in 1.7.3.2

narrow typing YAMLChunk._strictparsed YAMLChunk._ruamelparsed; stream typing; tests for compound;

Any kills

strictyaml static typing motto comes down to, Trust me bro! Was done so could have custom runtime Validator with minimal fuss. But lets be honest, that’s external code.

Registration thru hooks API would allow opening up and moving beyond the internal types. Internals types are limited to the hardcoded TypeAlias, strictyaml-stubs._types.YAMLChunkContents.

These stubs act as spec, docs, highlights what to fix, sometimes including proposed code design. In the process of creating the stubs huge number of Anys were removed. It’s been fun tracking that.

Welcome to the kills board!

Any kills

module

baseline

attribs

strictyaml.any_validator

0

0

strictyaml.compound

0

0

strictyaml.constants

0

0

strictyaml.dumper

9

0

strictyaml.exceptions

1

0

strictyaml.parser

0

0

strictyaml.representation

0

1

strictyaml.scalar

0

5

strictyaml.utils

6

0

strictyaml.validators

4

2

strictyaml.yamllocation

3

0

strictyaml.yamlpointer

6

0

strictyaml.ruamel.anchor

1

0

strictyaml.ruamel.compat

11

4

strictyaml.ruamel.composer

19

3

strictyaml.ruamel.constructor

157

13

strictyaml.ruamel.cyaml

30

15

strictyaml.ruamel.dumper

34

0

strictyaml.ruamel.emitter

34

53

strictyaml.ruamel.error

40

5

strictyaml.ruamel.events

41

0

strictyaml.ruamel.main

182

53

strictyaml.ruamel.nodes

34

0

strictyaml.ruamel.reader

8

0

strictyaml.ruamel.comments

117

13

strictyaml.ruamel.parser

41

7

strictyaml.ruamel.representer

143

0

strictyaml.ruamel.resolver

37

1

strictyaml.ruamel.serializer

13

14

strictyaml.ruamel.scalarbool

1

0

strictyaml.ruamel.scalarfloat

17

0

strictyaml.ruamel.scalarint

17

0

strictyaml.ruamel.scalarstring

11

0

strictyaml.ruamel.scanner

78

18

strictyaml.ruamel.timestamp

2

10

strictyaml.ruamel.tokens

41

0

Methodology

  1. types-strictyaml-1.7.3.2 is the artificial baseline

  2. missing attributes are considered an Any!

  3. baseline Any find using grep

    Find “Any” whole word in a stubs module

    grep -ow "Any" constructor.pyi | wc -l

These throw off the total:

  • Any import

    Might be removed. Might remain cuz still needed.

  • comments including the word, Any

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.

Metadata

Release files for types-strictyaml 1.7.3.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 types-strictyaml 1.7.3.3
File Size Uploaded Provenance
types_strictyaml-1.7.3.3.tar.gz 46.7 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for types-strictyaml 1.7.3.3
File Interpreter ABI Platform
types_strictyaml-1.7.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 114.2 kB

Release files / types_strictyaml-1.7.3.3.tar.gz

Download URL types_strictyaml-1.7.3.3.tar.gz
Size 46.7 kB
Tags Source
SHA-256 checksum
How to use checksums
61aeb8a13f44fd15cc348e34fac002f5a9b6189f258d2c7acfe79abccc22d57d
BLAKE2b-256 checksum
How to use checksums
2b8150a74541bb5526033909fda5f343b3fc57c88b7a07fd7ff1eaa9eda98c65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release files / types_strictyaml-1.7.3.3-py3-none-any.whl

Download URL types_strictyaml-1.7.3.3-py3-none-any.whl
Size 67.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
21f5eefb69dd274a72bc1946c51ceeb2f73031dcc2495072dc88f645a0d9888b
BLAKE2b-256 checksum
How to use checksums
7befc3b4a95c43b615f8f61a1f6c3b4ca23a1cade47e15c209b2e9a3c9a863db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Security for types-strictyaml 1.7.3.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for types_strictyaml-1.7.3.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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