Browse the handbook
Getting started

Get started with Aner

Install Aner, run your first program, and train a small classifier with the included modules.

Aner is a programming language for data science. Write an analysis in a .aner file, or explore it in a .anernb notebook with code, text, and images. Its native executable includes the data, numerical, and machine learning modules used in these guides.

The handbook describes supported behavior and uses an installed aner command. Check Downloads for package availability, compatible platforms, and release versions. Public binary releases are being prepared; instructions here also apply when you have received a compatible preview package.

Install and check Aner

Follow Install Aner for your operating system. Open a terminal and confirm:

sh
aner --version

For editing and notebooks, follow Aner in VS Code. You can use any text editor for source files.

Your first program

Create a project folder and save this as hello.aner:

aner
let message = "Hello from Aner"
print(message)

Open a terminal in that folder and run:

sh
aner run hello.aner

The output is Hello from Aner. Use aner check hello.aner when you want to check syntax and types without executing the file. run already performs these checks before execution.

You can write statements directly, without a main function. Types are inferred for initialized variables. Use let for a binding that stays fixed and var for a value you want to reassign. See the language reference for functions, classes, and type rules.

Train an Iris classifier

This complete program loads the bundled Iris dataset, separates training and test rows, and fits a small neural classifier:

aner
import aner.dataset
import aner.nn
import aner.ml

let split = dataset.iris().split(test: 0.2, seed: 2026)
let network = nn.sequential(seed: 42)
    .dense(inputs: 4, outputs: 8)
    .tanh()
    .dense(inputs: 8, outputs: 3)
let pipeline = ml.classifier(network, standardize: true)
let fitted = pipeline.fit(split.train(), epochs: 2000, rate: 0.1)
print(fitted.evaluate(split.test()).summary())

Save it as iris.aner, then run aner run iris.aner. The summary reports held out evaluation. Standardization is fitted on the training rows and reused for the test rows. Seeds make the chosen split and initialization explicit; identical floating point results across different platforms are not guaranteed.

Iris is included offline with its attribution and source information. See dataset provenance before reusing it in research or teaching. The current neural implementation uses dense CPU Float64 tensors; GPU execution and additional model families are research work.

Choose your next task

The included modules ship with Aner. No separate module installation command is needed for these examples. Follow the documentation for the version you installed; planned features are identified separately in Research.

Aner handbook · Guides and API reference