Clyp
Modern Python-like Language

A clean, expressive programming language that transpiles to Python. Enjoy static-like typing, simplified syntax, and seamless Python interoperability.

hello_world.clyp
# A simple "Hello, World!" program in Clyp
str name = "World";
print("Hello, " + name + "!");

# Define a function to greet someone
def greet(str person) returns str {
    return "Greetings, " + person + "!";
};

# Call the function and print the result
print(greet("Clyp Developer"));
PyPI Downloads
...
GitHub Stars
...
GitHub Commits
...

Why Choose Clyp?

🎯

Static-like Typing

Variables are declared with their types, providing clarity and catching errors early in development.

Clean Syntax

Uses familiar C-like syntax with {} for blocks and ; for statements, making code more readable.

🐍

Python Interop

Seamlessly use Python libraries and functions. Clyp transpiles directly to Python code.

📚

Rich Standard Library

Built-in functions for common tasks like file I/O, HTTP requests, and data manipulation.

Pipeline Operator

Elegant data transformation with the pipeline operator |> for functional programming patterns.

🔧

Modern Features

Classes, conditionals, loops, and advanced language constructs in an intuitive package.

See Clyp in Action

Hello World

A simple greeting program showing variable declaration and function definition.

hello_world.clyp
# A simple "Hello, World!" program in Clyp
str name = "World";
print("Hello, " + name + "!");

# Define a function to greet someone
def greet(str person) returns str {
    return "Greetings, " + person + "!";
};

# Call the function and print the result
print(greet("Clyp Developer"));

Data Structures

Working with lists, chunking, and flattening operations.

data_structures.clyp
# Working with data structures in Clyp
list[int] numbers = [1, 2, 3, 4, 5, 6];
print("Original list:");
print(numbers);

# Get chunks of the list
list[list[int]] chunks = chunk(numbers, 2);
print("List chunked into size 2:");
print(chunks);

# Flatten the list back
list[int] flattened = flatten(chunks);
print("Flattened list:");
print(flattened);

# Repeat loop for iteration
repeat [3] times {
    print("Hello from a repeat loop!");
};

Advanced Features

Classes, conditionals, and the powerful pipeline operator.

advanced_features.clyp
# Advanced Clyp features
class Counter {
    int count = 0;
    
    def increment(self) returns null {
        self.count = self.count + 1;
    };
    
    def get_count(self) returns int {
        return self.count;
    };
};

let c = Counter();
c.increment();
c.increment();
print("Count is: " + toString(c.get_count()));

# Pipeline operator example
def double(int n) returns int {
    return n * 2;
};

def add_five(int n) returns int {
    return n + 5;
};

let initial_value = 10;
# Pipeline passes value left to right
let final_value = initial_value |> double |> add_five;
print("Pipeline result: " + toString(final_value));

Get Started

1

Install Clyp

pip install clyp
2

Create a Clyp file

echo 'str message = "Hello, Clyp!"; print(message);' > hello.clyp
3

Run your program

clyp go hello.clyp

Ready to dive deeper?

Explore Examples