Skip to main content

corallium

CLI utility functions extracted from Calcipy.

Installation

  1. poetry add corallium

  2. Take advantage of the logger or other common functionality

    form corallium.log import LOGGER
    
    LOGGER.info('Hello!')
    

Usage

  • log: Configure and use the global logger

    from corallium.log import LOGGER, configure_logger
    import logging
    
    configure_logger(log_level=logging.INFO)
    LOGGER.info('Processing started', item_count=42)
    
  • pretty_process: Run parallel tasks with progress bars

    from corallium.pretty_process import pretty_process
    
    
    def task(task_id, shared_progress, data):
        for item in data:
            process(item)
            shared_progress[task_id] += 1
        return len(data)
    
    
    results = pretty_process(task, data=items, num_workers=4)
    
  • shell: Execute shell commands with output capture

    from corallium.shell import capture_shell
    
    output = capture_shell('git status', timeout=30)
    
  • file_helpers: File utilities and project configuration

    from corallium.file_helpers import find_in_parents, read_pyproject
    
    pyproject = read_pyproject()
    lock_path = find_in_parents(name='uv.lock')
    
  • tomllib: Backport wrapper for TOML parsing (Python <3.11 compatibility)

    from corallium.tomllib import tomllib
    
    data = tomllib.loads(content)
    
  • dot_dict: Wrapper for dotted-dictionary access via Python-Box

    from corallium.dot_dict import ddict
    
    config = ddict({'nested': {'value': 42}})
    print(config.nested.value)
    

For more example code, see the scripts directory or the tests.

Project Status

See the Open Issues and/or the CODE_TAG_SUMMARY. For release history, see the CHANGELOG.

Contributing

We welcome pull requests! For your pull request to be accepted smoothly, we suggest that you first open a GitHub issue to discuss your idea. For resources on getting started with the code base, see the below documentation:

Code of Conduct

We follow the Contributor Covenant Code of Conduct.

Open Source Status

We try to reasonably meet most aspects of the "OpenSSF scorecard" from Open Source Insights

Responsible Disclosure

If you have any security issue to report, please contact the project maintainers privately. You can reach us at dev.act.kyle@gmail.com.

License

LICENSE

Download files

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

Source Distribution

corallium-2.4.0.tar.gz (30.5 kB view details)

Uploaded Source

Built Distribution

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

corallium-2.4.0-py3-none-any.whl (36.3 kB view details)

Uploaded Python 3

File details

Details for the file corallium-2.4.0.tar.gz.

File metadata

  • Download URL: corallium-2.4.0.tar.gz
  • Upload date:
  • Size: 30.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for corallium-2.4.0.tar.gz
Algorithm Hash digest
SHA256 9d7df73b087b6e77675714c20b030b036b6c23fe419e48601e217d432a12a2d4
MD5 a3a05ca501c821101c739950defaa28d
BLAKE2b-256 382c5fd63b1a119ccfcc6eba79673b61ea5b3e2e0772c1b32eaba44fa308be68

See more details on using hashes here.

Provenance

The following attestation bundles were made for corallium-2.4.0.tar.gz:

Publisher: publish.yml on KyleKing/corallium

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

File details

Details for the file corallium-2.4.0-py3-none-any.whl.

File metadata

  • Download URL: corallium-2.4.0-py3-none-any.whl
  • Upload date:
  • Size: 36.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for corallium-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 90d7255b7a2ce2202682aa1b437d8496a126ebbb23af52fce619d799dcc8c023
MD5 4415d4e6106ba4c8272b5d9ece0833a1
BLAKE2b-256 8f1ea6d2b95584632e6afb27fcb26c041ce089893b1d7d7c27abaa6dec6acfa7

See more details on using hashes here.

Provenance

The following attestation bundles were made for corallium-2.4.0-py3-none-any.whl:

Publisher: publish.yml on KyleKing/corallium

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 Sentry Error logging StatusPage Status page