Skip to main content

Curl Programming Language

PyPI version License Python Curl-Bot

Curl is an open-source programming language built on Python technology, designed to be simple and expressive. Every statement uses a keyword{...}\ style, and blocks are opened with - and closed with --\.

📖 Wiki — full language reference  |  💬 Discussions — questions, ideas, and show-and-tell


Why Curl?

Most programming languages treat AI as an afterthought — a third-party library you install, a client you configure, boilerplate you copy from a docs page. By the time you write response.choices[0].message.content, you've already forgotten what you were building.

Curl does it differently. pcAI is part of the language itself, the same way print is part of Python. There is no setup, no import, no client object. From the very first line of your program, you can ask a question and get an answer:

pcAI.ask{"What should I name this variable?"}\

That's the entire program. Not a demo — that actually runs.

This is what makes Curl different from every other language: AI is native syntax, not a library. You don't bolt it on at the end. You design around it from the start. Want a bot that remembers what you said three messages ago? It already does. Want to give it a personality? One line. Want to drop into a full interactive chat from inside a script? One line. Want to run it against your own local model with no API key at all? Point one environment variable at Ollama and you're done.

Curl is for people who want to build AI-powered programs without wading through infrastructure. For students writing their first script. For developers who want to prototype an idea in ten minutes instead of an afternoon. For anyone who's ever thought I just want to ask the computer a question and had to install four packages first.

Other languages got AI added to them. Curl was designed with it at the center.


Requirements

  • Python 3.7+
  • Node.js (optional — only needed for otherCoding{"JavaScript", ...} blocks)

Installation

From PyPI (recommended):

pip install curl-programming-lang

To upgrade:

pip install --upgrade curl-programming-lang

From source:

git clone https://github.com/gautamritvik/Curl-Programming.git
cd Curl-Programming
pip install -e .

Running the Curl terminal (REPL)

curlang

Running a Curl program

curlang [YOUR-FILE].curl

CLI flags

curlang --version    show version
curlang --license    show license
curlang --credits    show credits
curlang --help       show help

Syntax Reference

Print — pcType

Outputs text to the console. Supports string concatenation with +.

pcType{"Hello, World!"}\
pcType{"Hello, " + var{name} + "!"}\

Input — pcAsk

Prompts the user for input. The result is accessed anywhere with input{ans}.

pcAsk{"What is your name? >>"}\
pcType{"You said: " + input{ans}}\

Variables — var

Assign a value with var{name, value}\. Reference it later with var{name}.

var{name, "Ritvik"}\
pcType{var{name}}\

Variables can hold strings, numbers, or lists.


Lists — list

Create a list with items separated by ;. Typically assigned to a variable.

var{colors, list{"red"; "green"; "blue"}}\
pcType{var{colors}}\

Functions — createFunc / func

Define a function with createFunc{name}- and close it with --\. Call it with func{name}\.

createFunc{greet}-
    pcType{"Hello from greet!"}\
--\

func{greet}\

Conditionals — if / elif / else

Simple if:

if{var{score} >= 90, then}-
    pcType{"Grade: A"}\
--\

If / else:

if{var{score} >= 90, then}-
    pcType{"Grade: A"}\
else:
    pcType{"Grade: B or below"}\
--\

If / elif / else:

if{var{score} >= 90, then}-
    pcType{"Grade: A"}\
elif{var{score} >= 80, then}-
    pcType{"Grade: B"}\
else:
    pcType{"Grade: C or below"}\
--\

For if+elif chains without an else, close with --\--\.

Supported comparison operators: == != < > <= >=


Loops — while / for

While loop — repeats while a condition is true:

var{x, 0}\
while{var{x} < 5}-
    pcType{var{x}}\
    var{x, var{x} + 1}\
--\

For loop — iterates a variable from start up to (not including) end:

for{i, 0, 5}-
    pcType{var{i}}\
--\

The loop variable i is available inside the block as var{i}.


Embedded code blocks — otherCoding

Run a block of code written in another language. The closing }\ must be on its own line.

otherCoding{"Python",

x = 10
print("x =", x)

}\

Supported languages:

Language Status
Python Fully supported
JavaScript / Node.js Supported (requires Node.js)
Java, C, C++ Not supported at runtime

Import — import

Import a Python package and give it a nickname.

import{"math", m}\

AI — pcAI + Curl-Bot

pcAI is a built-in AI module — no import required. It defaults to DeepSeek via OpenRouter (free).

Setup — get a free key at openrouter.ai/keys, then:

export CURL_AI_KEY=sk-or-your_key_here

That's all. pcAI defaults to Curl-Bot automatically.

Ask a question:

var{reply, pcAI.ask{"What is the capital of France?"}}\
pcType{var{reply}}\

Interactive chat loop (type exit to quit):

pcAI.chat{""}\

Set a custom persona:

pcAI.context{"You are a friendly pirate who answers in rhymes."}\
var{reply, pcAI.ask{"What is 2 + 2?"}}\
pcType{var{reply}}\

Other methods:

var{s, pcAI.summarize{"some long text"}}\
var{a, pcAI.analyze{"some data"}}\
var{mood, pcAI.sentiment{"I love this!"}}\
var{t, pcAI.translate{"Bonjour — translate to English"}}\
pcAI.reset{""}\

Conversation history is kept across pcAI.ask calls and auto-compacts when it gets long.

Want to use a different model? Override with env vars:

Variable Default Description
CURL_AI_KEY (required) OpenRouter key, OpenAI key, etc.
CURL_AI_BASE_URL https://openrouter.ai/api/v1 API base URL
CURL_AI_MODEL deepseek/deepseek-chat-v3-0324 Model name

Works with OpenRouter (recommended, free models available), OpenAI, Ollama, or any OpenAI-compatible API.


Symbols

Symbol Meaning
\ End of a statement
- Start of a block
--\ End of a block
{} Argument container
"" String / text data
; Separator inside lists
, Separator between parameters
== Equals
!= Not equals
= Assignment
+ Concatenation / addition
- Subtraction
* Multiplication
/ Division

Example program

var{name, "Ritvik"}\
pcType{"Hello, " + var{name} + "!"}\

var{score, 95}\
if{var{score} >= 90, then}-
    pcType{"You got an A!"}\
else:
    pcType{"Keep trying!"}\
--\

createFunc{sayBye}-
    pcType{"Goodbye, " + var{name} + "!"}\
--\

func{sayBye}\

Example AI program

pcAI.context{"You are a helpful tutor."}\
var{answer, pcAI.ask{"Explain what a variable is in one sentence."}}\
pcType{var{answer}}\

License

This project is licensed under the Apache License 2.0 (OSI-approved). See the full license at: https://github.com/gautamritvik/Curl-Programming/blob/main/LICENSE

Metadata

Release files for curl-programming-lang 1.5.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for curl-programming-lang 1.5.4
File Size Uploaded Provenance
curl_programming_lang-1.5.4.tar.gz 20.3 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for curl-programming-lang 1.5.4
File Interpreter ABI Platform
curl_programming_lang-1.5.4-py3-none-any.whl Python 3 none any Details

Total release size: 42.6 kB

Release files / curl_programming_lang-1.5.4.tar.gz

Download URL curl_programming_lang-1.5.4.tar.gz
Size 20.3 kB
Tags Source
SHA-256 checksum
How to use checksums
f3876c684a34512a2eedce089bb0e9935876196e9a28a172e19f8377d246330a
BLAKE2b-256 checksum
How to use checksums
3dc53c4ff79e5de8784235ff7f42f1c3c6eb0c5643100d2018a67c870d91d3d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 12, 2026.

Transparency log

Release files / curl_programming_lang-1.5.4-py3-none-any.whl

Download URL curl_programming_lang-1.5.4-py3-none-any.whl
Size 22.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
14cd162e987b996ff235ef7789702da2da49875500b9af5913d4b4e0a515cfd4
BLAKE2b-256 checksum
How to use checksums
fe5a62320111df64341e2e85b6d5b91ddeccf9c54269d5ef48c7bb7b00b7fda6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 12, 2026.

Transparency log

Security for curl-programming-lang 1.5.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for curl_programming_lang-1.5.4.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 12, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page