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 .

📦 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.1.0.tar.gz (3.5 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.1.0-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for araxia-0.1.0.tar.gz
Algorithm Hash digest
SHA256 71799f0d8e7616db5b23afc98fea0d8b3d909ded4474d9e9ecd93682fc962c58
MD5 5061dccac93292aa5347b04e5b861204
BLAKE2b-256 d16db5dc5fd05c43cfe6e3cb006ea4d6370a41c02f694393faad8fd7488041fa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: araxia-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.0 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 76b85c019f159a24e75db5f452cc48e8c11fa839d4e189b0e5598cd4140b1490
MD5 577f34fcdc2de596c2fb788e7db5abb1
BLAKE2b-256 b604ea86a83323f415640b8ae5f22778456b6dc513e02d76e381a780643d28ab

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