ArtinForge 0.2.0
A lightweight, dependency-free Python toolkit for everyday developer tasks.
ArtinForge uses the Python standard library at runtime; no mandatory third-party runtime packages are required.
Features
- Text: whitespace cleanup, word/character counts, truncation, Unicode-aware slugs, Persian Arabic-letter normalization, and secret redaction in diagnostic text.
- Files: UTF-8 reads/writes, directory creation, file listing and size helpers.
- JSON storage: atomic JSON saves and Unicode-friendly loads.
- HTTP: standard-library GET/JSON and POST JSON helpers with timeouts.
- Integrity/security: SHA-256 for bytes and files, constant-time string comparison, and resolved-path containment checks.
- TTL cache: bounded, thread-safe in-memory cache with expiration.
- Configuration: validated boolean/integer environment variable readers.
- Local development server: serve a directory for local testing.
- CLI: runtime info, file hashing, JSON validation, text statistics, and local server.
ArtinForge is a developer toolkit, not a bundled AI model. AI features require a model or service to be connected separately.
Install
python -m pip install artinforge==0.2.0
Python quick start
from artinforge import cache, config, jsonstore, security, text
print(text.normalize_persian("كیفيت و يادگيری"))
print(text.slugify("سلام ArtinForge!"))
print(security.sha256_bytes(b"hello"))
settings = {"language": "fa", "theme": "dark"}
jsonstore.save("demo/settings.json", settings)
print(jsonstore.load("demo/settings.json", default={}))
results = cache.TTLCache(maxsize=100, ttl=30)
results.set("greeting", "سلام آرتین")
print(results.get("greeting"))
port = config.env_int("ARTIN_PORT", 8765, minimum=1, maximum=65535)
print(port)
CLI commands
artinforge --help
artinforge --version
artinforge info
artinforge hash path/to/file.bin
artinforge json-check settings.json
artinforge text-stats README.md
artinforge serve --host 127.0.0.1 --port 8765 --directory .
The local server is intended for development. Keep the default host 127.0.0.1 unless you understand the exposure risks; do not expose it to the public internet without a security review and appropriate protections.
Test and build from source
python -m pip install pytest build twine
python -m pytest -q
python -m build
python -m twine check dist/*
Each PyPI release must use a version number that has not already been uploaded. Check the official PyPI project page before publishing.
License
MIT. See LICENSE.
Metadata
Release files for artinforge 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| artinforge-0.2.0.tar.gz | 1.9 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| artinforge-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.8 MB
Release files / artinforge-0.2.0.tar.gz
| Download URL | artinforge-0.2.0.tar.gz |
|---|---|
| Size | 1.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fc30de630db3930c3dc3ed21af3fa65e0ce984e241d380c2f446c3b4b7c9fbeb
|
|
BLAKE2b-256 checksum How to use checksums |
b6a8b7582bc381547a81a7618eb9a58eb5ac90430072308cdb05b910b2733388
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / artinforge-0.2.0-py3-none-any.whl
| Download URL | artinforge-0.2.0-py3-none-any.whl |
|---|---|
| Size | 1.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0ce48db0a4d30cc7aad2e8d32ceed49d67fb5ca02a16def4145c16df6bd23f42
|
|
BLAKE2b-256 checksum How to use checksums |
980f9dda932faabe2908ccc9598616a59354325a6292cb993fead09a5785bcda
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|