Skip to main content

Cereja

Python package PyPI version Downloads License: MIT

Cereja is a Python utility package for developers who want reusable helpers for files, paths, progress display, compression, hashing, text processing, data preparation, arrays, dates, and small system tasks.

The package is published on PyPI and supports Python 3.11 and newer.

Design principles

  • Zero runtime dependencies
  • Standard-library-first implementations
  • Small, reusable and composable APIs
  • Backward compatibility where practical
  • Educational implementations without hiding Python internals

Installation

python -m pip install cereja

Quick Start

import cereja as cj

path = cj.Path(".")
print(path.list_files())
from cereja.file import FileIO

file = FileIO.create("./example.txt", ["first line", "second line"])
file.add("third line")
file.save()

CLI

cereja --help
cereja tree .
cereja compress path/to/input
cereja decompress archive.cjz

Progress is enabled by default for CLI compression and decompression. Use --quiet for script-friendly output.

Bounded context search

Search for all whitespace-separated terms in UTF-8 text under one or more explicit roots:

cereja context search --root docs --query "context search" --extension md
cereja context search --root docs --root cereja --query "Path FileIO" --format json

Inventory text files without returning their content:

cereja context list --root docs --max-results 20

Use --max-file-bytes, --max-results, --max-snippets, and --max-snippet-chars to bound search output. Searched source files are opened read-only and are never modified. The commands decode only UTF-8 text, skip binary files, and do not follow symbolic links.

The persistent cache is opt-in. When --cache is enabled, Cereja writes a global per-user cache outside the searched roots. Use --cache to populate or reuse it and --refresh-cache with --cache to force file content to be reprocessed:

cereja context search --root docs --query "context search" --cache
cereja context search --root docs --query "context search" --cache --refresh-cache

Inspect cache metadata or clear the context-cache namespace with:

cereja context cache info --format json
cereja context cache clear

If the optional cache is unavailable, context search emits a ContextCacheWarning and continues with a direct filesystem search.

Development

git clone https://github.com/cereja-project/cereja.git
cd cereja
python -m pip install -e .
python -m unittest discover -s tests -v

Run the syntax/undefined-name lint used by CI:

flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics

Documentation

Citation

If you use Cereja in academic work, please cite it. GitHub uses CITATION.cff for the "Cite this repository" button, and a BibTeX entry is available in CITATION.bib.

License

Cereja is distributed under the MIT License. See LICENSE for details.

Download files

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

Source Distribution

cereja-2.1.6.tar.gz (232.2 kB view details)

Uploaded Source

Built Distribution

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

cereja-2.1.6-py3-none-any.whl (217.7 kB view details)

Uploaded Python 3

File details

Details for the file cereja-2.1.6.tar.gz.

File metadata

  • Download URL: cereja-2.1.6.tar.gz
  • Upload date:
  • Size: 232.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for cereja-2.1.6.tar.gz
Algorithm Hash digest
SHA256 0fcc4e94d22c14e3b881dc028a33c594102d0ecc46749f6d305ee85da12927b6
MD5 2087cf4b586ac579ad18119298b41307
BLAKE2b-256 fc754100cb639401ef0fe02c3fe5ce8323daa3fabbf19d0ae5bfcbcfaaa0a22f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cereja-2.1.6.tar.gz:

Publisher: pythonpublish.yml on cereja-project/cereja

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

File details

Details for the file cereja-2.1.6-py3-none-any.whl.

File metadata

  • Download URL: cereja-2.1.6-py3-none-any.whl
  • Upload date:
  • Size: 217.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for cereja-2.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 a14392a1d70125b6b0204356d34d01350f3dc71a9dadb779149539a51d18b2dc
MD5 834ea7c9e69cf10bd4c54706fa8e3ec7
BLAKE2b-256 95435835dee6444899a65f0e6724f8373cc43f7bebac5aff44ea7f344facd585

See more details on using hashes here.

Provenance

The following attestation bundles were made for cereja-2.1.6-py3-none-any.whl:

Publisher: pythonpublish.yml on cereja-project/cereja

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

Release history Release notifications | RSS feed

This release

2.1.6 This release

2 files

2.1.5

2 files

2.1.4

2 files

2.1.3

2 files

2.1.2

2 files

2.1.1

2 files

2.1.0

2 files

2.0.9

2 files

2.0.8

2 files

2.0.7

2 files

2.0.6

2 files

2.0.5

2 files

2.0.4

2 files

2.0.3

2 files

2.0.2

2 files

2.0.1

2 files

2.0.0.post1

2 files

2.0.0

2 files

1.9.9

2 files

1.9.8

2 files

1.9.7

2 files

1.9.6

2 files

1.9.5

2 files

1.9.4

2 files

1.9.3

2 files

1.9.2

2 files

1.9.1

2 files

1.9.0

2 files

1.8.9

2 files

1.8.8

2 files

1.8.7

2 files

1.8.6

2 files

1.8.5

2 files

1.8.4

2 files

1.8.3

2 files

1.8.2

2 files

1.8.1

2 files

1.8.0

2 files

1.7.9

2 files

1.7.8

2 files

1.7.7

2 files

1.7.6

2 files

1.7.5

2 files

1.7.4

2 files

1.7.3

2 files

1.7.2

2 files

1.7.1

2 files

1.7.0

2 files

1.6.9

2 files

1.6.8

2 files

1.6.7

2 files

1.6.6

2 files

1.6.5

2 files

1.6.4

2 files

1.6.2

2 files

1.6.1

2 files

1.6.0

2 files

1.5.9

2 files

1.5.8

2 files

1.5.6

2 files

1.5.5

2 files

1.5.4

2 files

1.5.3

2 files

1.5.2

2 files

1.5.1

2 files

1.5.0

2 files

1.4.9

2 files

1.4.8

2 files

1.4.7

2 files

1.4.6

2 files

1.4.5

2 files

1.4.4.post1

2 files

1.4.4

2 files

1.4.3

2 files

1.4.2

2 files

1.4.1

2 files

1.4.0

2 files

1.3.9.post1

2 files

1.3.9

2 files

1.3.8

2 files

1.3.7

2 files

1.3.6

2 files

1.3.5

2 files

1.3.4.post1

2 files

1.3.4

2 files

1.3.3

2 files

1.3.2

2 files

1.3.1

2 files

1.3.0

2 files

1.2.9.post1

2 files

1.2.9

2 files

1.2.8.post1

2 files

1.2.8

2 files

1.2.7.post1

2 files

1.2.7

2 files

1.2.6.post2

2 files

1.2.6.post1

2 files

1.2.6

2 files

1.2.5.post2

2 files

1.2.5.post1

2 files

1.2.5

2 files

1.2.4

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.6

2 files

1.1.5

2 files

1.1.4.post2

2 files

1.1.4.post1

2 files

1.1.4

2 files

1.1.3

2 files

1.1.2.post1

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1.post1

2 files

1.0.1

2 files

1.0.0

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.0

2 files

0.2.6

2 files

0.2.5

2 files

0.2.2

2 files

0.2.1

1 file

0.2.0

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

Supported by

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