Hey All,
Thank you to Ulrich for inspiring this push. He made me realize that the simple_* ecosystem is being populated by libs that are generally for folks who are subject matter experts. There are plenty of us who are not. For the rest of us, we need higher-level API access that does a lot of the generalized boilerplate coding under the hood. We just want to get a job done and move on. We're not interested in becoming subject matter experts. So, to this end and goal, I now introduce to you all: QUICK API fleet of classes.
See the announcement
here.
● Complete QUICK API Reference
Batch 1: Service Libraries (8)
| Library | QUICK Class | Purpose | Key Features |
|-------------------|-------------------------|---------------------|----------------------------------------------------------------------|
| simple_sql | SIMPLE_SQL_QUICK | Database operations | query(), execute(), scalar(), exists(), insert(), update(), delete() |
| simple_http | SIMPLE_HTTP_QUICK | HTTP client | get(), post(), put(), delete(), download(), json_get(), json_post() |
| simple_smtp | SIMPLE_SMTP_QUICK | Email sending | send(), send_html(), send_with_attachment(), send_to_many() |
| simple_jwt | SIMPLE_JWT_QUICK | JWT tokens | create_token(), verify(), decode(), is_valid(), is_expired() |
| simple_encryption | SIMPLE_ENCRYPTION_QUICK | Crypto operations | encrypt(), decrypt(), hash(), verify_hash(), random_key() |
| simple_mq | SIMPLE_MQ_QUICK | Message queues | publish(), subscribe(), consume(), ack(), queue_size() |
| simple_ai_client | SIMPLE_AI_CLIENT_QUICK | AI/LLM access | ask(), chat(), complete(), embed(), streaming support |
| simple_web | SIMPLE_WEB_QUICK | Web framework | get(), post(), json(), html(), redirect(), static() |
Batch 2: Data Format Libraries (8)
| Library | QUICK Class | Purpose | Key Features |
|-------------------|-------------------------|-----------------------|--------------------------------------------------------------------------------------|
| simple_json | SIMPLE_JSON_QUICK | JSON parsing/building | parse(), get_string(json, "$.path"), object.put().to_json, is_valid() |
| simple_cache | SIMPLE_CACHE_QUICK | In-memory caching | get(), set(), remember(key, agent) ⭐, increment(), stats |
| simple_validation | SIMPLE_VALIDATION_QUICK | Input validation | email(), url(), required(), length_ok(), in_range(), one_of() |
| simple_template | SIMPLE_TEMPLATE_QUICK | Mustache templates | render(tpl, vars), file(), render_if(), render_list(), substitute() |
| simple_csv | SIMPLE_CSV_QUICK | CSV read/write | read(), write(), parse(), read_with_headers(), use_tabs, use_semicolons |
| simple_xml | SIMPLE_XML_QUICK | XML parsing/XPath | xpath(), first(), attr(), text(), texts(), count(), exists() |
| simple_yaml | SIMPLE_YAML_QUICK | YAML config files | load(), get_string(cfg, "db.host"), get_integer(), string_from_file() |
| simple_regex | SIMPLE_REGEX_QUICK | Pattern matching | matches(), find(), find_all(), replace_all(), is_email(), is_url(), extract_emails() |
Other Libraries with QUICK APIs
| Library | QUICK Class | Purpose | Key Features |
|---------------|---------------------|----------------------|---------------------------------------------|
| simple_docker | SIMPLE_DOCKER_QUICK | Container management | run(), stop(), logs(), ps(), pull(), exec() |
---
QUICK API Design Pattern
Every QUICK class follows the same structure:
class SIMPLE_*_QUICK
create
make
feature {NONE} -- Initialization
make
do
create underlying.make -- Full API instance
create logger.make ("*_quick") -- Debug logging
end
feature -- One-liner Operations
-- Returns BOOLEAN, STRING, or collections
-- Sensible defaults, no configuration needed
feature -- Status
last_error: STRING
has_error: BOOLEAN
feature -- Advanced Access
underlying: SIMPLE_*
-- Access full API when needed
feature {NONE} -- Implementation
logger: SIMPLE_LOGGER
invariant
underlying_exists: underlying /= Void
logger_exists: logger /= Void
end
---
Killer Features by Library
| Library | Standout Feature | Example |
|-------------------|---------------------|--------------------------------------------------------------|
| simple_cache | remember pattern | cache.remember("key", agent compute) - auto cache-or-compute |
| simple_yaml | Dot-path config | yaml.get_string(cfg, "database.host") |
| simple_regex | Built-in validators | rx.is_email(), rx.extract_urls() |
| simple_json | JSONPath + builder | json.get_string(j, "$.users[0].name") |
| simple_csv | Format variants | csv.use_tabs, csv.use_semicolons |
| simple_validation | Error messages | v.last_error after failed validation |
---
Total: 17 QUICK APIs across the ecosystem
Cheers,
Larry