Skip to main content

Democritus functions for working with regexes in Python.

Project description

Democritus Regexes

PyPI CI Lint codecov The Democritus Project uses semver version 2.0.0 The Democritus Project uses ruff to format and lint code License: LGPL v3

Democritus functions[1] for working with and using regexes.

[1] Democritus functions are simple, effective, modular, well-tested, and well-documented Python functions.

We use d8s (pronounced "dee-eights") as an abbreviation for democritus (you can read more about this here).

Installation

pip install d8s-regexes

Usage

You import the library like:

from d8s_regexes import *

Once imported, you can use any of the functions listed below.

Functions

  • def is_regex(possible_regex: str) -> bool:
        """Determine whether or not the possible_regex is a valid regex."""
    
  • def regex_closest_match(regex: str, string: str) -> str:
        """Find the longest version of regex that matches something in string."""
    
  • def regex_simplify(regex: str, *, consolidation_threshold: int = 5) -> str:
        """Clean and simplify a regex to a more efficient form."""
    
  • def regex_create(inputs: List[str], *, simplify_regex: bool = True, consolidation_threshold: int = 5) -> str:
        """Create a regex that matches all of the inputs."""
    

Development

👋  If you want to get involved in this project, we have some short, helpful guides below:

If you have any questions or there is anything we did not cover, please raise an issue and we'll be happy to help.

Credits

This package was created with Cookiecutter and Floyd Hightower's Python project template.

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

d8s_regexes-0.6.0.tar.gz (90.5 kB view details)

Uploaded Source

Built Distribution

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

d8s_regexes-0.6.0-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

File details

Details for the file d8s_regexes-0.6.0.tar.gz.

File metadata

  • Download URL: d8s_regexes-0.6.0.tar.gz
  • Upload date:
  • Size: 90.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for d8s_regexes-0.6.0.tar.gz
Algorithm Hash digest
SHA256 93af680a663287445c5fd6b348042a5e3232007b2762a483d2c6806d2ae91d57
MD5 c5a4cb8fb89efe980fbab6bc1c3cee44
BLAKE2b-256 b55f4497096dde2359e50aaf27afc93d157c372be88cb7e3d5d34e5671845c3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for d8s_regexes-0.6.0.tar.gz:

Publisher: release-please.yml on democritus-project/d8s-regexes

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

File details

Details for the file d8s_regexes-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: d8s_regexes-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 19.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for d8s_regexes-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1569cbf2fd5c10d21a54c2a7f356dd3a501e22602b350df030816e399f1f2b30
MD5 6ef42797d11bf433f7698304fd6508a9
BLAKE2b-256 24e9a6df5694df9f57473a9b2b5f696aabf263c01cbe7c73ba095ff436adf7b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for d8s_regexes-0.6.0-py3-none-any.whl:

Publisher: release-please.yml on democritus-project/d8s-regexes

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