Skip to main content

A Pronouns over DNS specification compliant Python API.

Project description

podns_py

enbyware license pypi-version python-version github-issues github-issues

A Pronouns over DNS specification compliant Python API.

Documentation

Fetching from domain record.

If you want to fetch someones pronouns from their domain, see the below:

Note that we support both synchronous and asynchronous lookups.

import asyncio

import podns.dns


async def main() -> None:
    domain = "abigail.sh"
    podns.dns.fetch_pronouns_from_domain_sync(domain)
    await podns.dns.fetch_pronouns_from_domain_async(domain)


if __name__ == "__main__":
    asyncio.run(main())

Parsing a raw list

If you already have fetched the users pronouns, or are just parsing a raw literal:

import podns.parser

podns.parser.parse_pronoun_records([
    "she/her",
    "they/them/theirs;preferred"
])

Optional pedantic kwarg on user APIs

For all user-level APIs (that is, podns.dns.fetch_pronouns_from_domain_* and podns.parser.parse_pronoun_records), there is an optional kwarg, pedantic, that defaults to False.

  • Setting this to True will raise errors on all specification-violating parse errors from the provided records.
  • Setting this to False will only raise errors on egregious specification violations that make parsing impossible. When set to False, podns will do its' best to infer intent when met with trivial violations, it will however never return a podns.pronouns.PronounsResponse that violates the specification.

[!NOTE] there was exactly zero usage of generative ai involved during the development of this package, including autocomplete.

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

podns-0.2.1.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

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

podns-0.2.1-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file podns-0.2.1.tar.gz.

File metadata

  • Download URL: podns-0.2.1.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for podns-0.2.1.tar.gz
Algorithm Hash digest
SHA256 9a766c0361a4c14720ad77da4c07de62135fc601a230f0e7fd97c6144b9deb4d
MD5 5548bd67b60ef59d571fcf74aac021e6
BLAKE2b-256 b686dbdcbd865f256c87ddd2d4a66a52e8d9d419ba1f83071ddcb5b9bdb73108

See more details on using hashes here.

File details

Details for the file podns-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: podns-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for podns-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0e37a950e22e7dee42554698be5ad7be33140d77e5aafb4e49bcc5da920a0549
MD5 7e945d9ba568e947c0b7281939235e8a
BLAKE2b-256 885d1cf2766e5e3af2a2042b86ca980761f355d9974eadc26e12a81a9833879f

See more details on using hashes here.

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