Skip to main content

A minimal neural network library built from scratch for time series forecasting and analysis.

Project description

logo

🕸️ Araxia

Araxia is a lightweight, customizable time series forecasting model tailored for structured datasets like grocery store sales. Inspired by the structure of spider webs and powered by neural networks, Araxia makes forecasting intuitive, modular, and fun.

“Pattern is the web. Prediction is the spider.” — Araxia Philosophy


🧠 Features

  • 🔁 Lagged features with flexible windowing
  • 📅 Time-aware feature engineering (cyclic time, dates, day-of-week)
  • 🕸️ Neural network forecaster (built with NumPy from scratch)
  • 🧪 Easy backtesting on training data
  • 📈 Built-in plot support for forecasts
  • 🧩 Modular: plug in your own preprocessing or model layers
  • ✅ Lightweight with no heavy dependencies

🚀 Installation

pip install araxia

Or if you are developing locally:

git clone https://github.com/your-username/araxia.git
cd araxia
pip install -e .

if You want to run the locally installed dev environment

pip install -e .

📦 Quickstart

from araxia import create_lagged_dataset, create_dataset_with_cyclic_features
from araxia import AraxiaForecaster

Load your time series data (must include a datetime column and target)

df = your_dataframe[['date', 'sales']]

Create features

df_feat = create_lagged_dataset(df, target='sales', lags=[1, 7, 14])
df_feat = create_dataset_with_cyclic_features(df_feat, date_col='date')

Train-test split

train = df_feat.iloc[:-30]
test = df_feat.iloc[-30:]

Fit model

model = AraxiaForecaster(hidden_sizes=[16, 8], epochs=500, learning_rate=0.01)
model.fit(train.drop(columns='sales'), train['sales'])

Predict

forecast = model.predict(test.drop(columns='sales'))

Plot

model.plot(train['sales'], forecast, title="Araxia Forecast")

🧰 Core Modules

Module Purpose
create_lagged_dataset Generate lag features (e.g., 1-day, 7-day lags)
create_dataset_with_cyclic_features Add sine/cosine encodings for day/month/year
create_dataset_with_date_features Add year, month, day columns
create_dataset_with_onehot_dow One-hot encode day-of-week
AraxiaForecaster Custom NumPy-based feedforward network

⚙️ Customize

Araxia is modular! Replace or enhance the following:

  • Use your own preprocessing logic
  • Swap out the NumPy model for PyTorch/TensorFlow
  • Add early stopping, dropout, or regularization
  • Integrate into a pipeline with sklearn

🧪 Tests

pytest

📄 License

MIT License

🤝 Contributing

Contributions welcome! Fork the repo, create a branch, and submit a PR.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

araxia-0.2.0.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

araxia-0.2.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file araxia-0.2.0.tar.gz.

File metadata

  • Download URL: araxia-0.2.0.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for araxia-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4ed5c41a76623cef07a55332b0d63ee4c2c40dd869f3f98c4f9ba497359f3f5f
MD5 6fe079b679ee8a2a5780efe07bdd813f
BLAKE2b-256 3ef3938d701294b08ceed8e3ad9cd167fab0e92a2d432acb265df3ffd56d15fe

See more details on using hashes here.

File details

Details for the file araxia-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: araxia-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for araxia-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4fbcedda3c68cc385981da19f7ae9c1b6b4b9f88d996cabd03569273d88d3adf
MD5 4e706d9145476a0cab3e411547a7236f
BLAKE2b-256 d361378e7cceb40cf37d8b08edce1bf8d254f29ebfa94e597f31e19bcbdbab3b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page