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.0.2.tar.gz (8.8 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.0.2-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for araxia-0.0.2.tar.gz
Algorithm Hash digest
SHA256 d6a53fe7abb3c1730815d99dfa8c612b24ba24b81f2da673cdf35823a8a050a2
MD5 046f1409d3d13dae609407c9a8411723
BLAKE2b-256 97d74725002951fc20627c86f5e6952c395b0c625fe06951fc12398f63023b64

See more details on using hashes here.

File details

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

File metadata

  • Download URL: araxia-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 9.6 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.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1220da2e55998088952b7fa01b2dc346c630fe128896ee67820730604e7b12b4
MD5 a7a8d8cd40f9401dcc28cb8ef0f6cf19
BLAKE2b-256 06c8203c478f7b9dbefa5f63d09875d182b8be4dba24361c166fbef14fde9290

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