Skip to main content

Multi-dimensional tensor library with custom C/C++ backend and Python frontend

Project description

Axon

axonlogo.png

Lightweight multi-dimensional array manipulation library powered by GPU, similar to NumPy, but trying to be better.

Features

  • Custom array class with Pythonic syntax
  • Element-wise arithmetic: +, -, -, /
  • Scalar operations (e.g., array + 5)
  • Trigonometric functions: sin, cos, tan, etc.
  • Auto handling of CArray, scalars, and lists
  • Simple __str__/__repr__ for pretty printing
  • Reshape, transpose, flatten
  • Data type conversion

Requirements

  • Python 3.7+
  • C compiler (for building the C backend)
  • ctypes module (standard in Python)

Getting Started

Build

To use Axon, make sure you have compiled the C backend to a shared library (.dll, .so, or .dylib) and exposed the C functions via ctypes.

Place the compiled .dll (on Windows) or .so (Linux/macOS) in your axon/ folder.

Example

Here's a quick demo of how Axon works:

import axon
from axon import array

# Create two 2D arrays
a = array([[1, 2], [3, 4]], dtype=axon.int32)
b = array([[5, 6], [7, 8]], dtype=axon.int32)

# Addition
c = a + b
print("Addition:\n", c)

# Multiplication
d = a * b
print("Multiplication:\n", d)

# Matrix Multiplication
e = a @ b
print("Matrix Multiplication:\n", e)

Output

Addition:
 array([6, 8], [10, 12], dtype=int32)
Multiplication:
 array([5, 12], [21, 32], dtype=int32)
Matrix Multiplication:
 array([19, 22], [43, 50], dtype=int32)

anyway, prefer documentation for detailed usage guide:

  1. usage.md: for user guide & documentation
  2. technical.md: for contirbutors & contirbution related guide

License

This project is under the Apache-2.0 License.

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

axon_pypi-0.0.2.tar.gz (287.3 kB view details)

Uploaded Source

Built Distribution

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

axon_pypi-0.0.2-cp313-cp313-win_amd64.whl (167.1 kB view details)

Uploaded CPython 3.13Windows x86-64

File details

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

File metadata

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

File hashes

Hashes for axon_pypi-0.0.2.tar.gz
Algorithm Hash digest
SHA256 18c733ece50c2138bdc15fc91ac07029a2cced7442c69a7a763b215ce516caed
MD5 4afa90a1c5022617bfdb0e7cbd6bdd03
BLAKE2b-256 f875a70f7488773ddf847449f315e2cbcdc3cb6ef0b937b3449d51b0b7c8a3e3

See more details on using hashes here.

File details

Details for the file axon_pypi-0.0.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: axon_pypi-0.0.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 167.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for axon_pypi-0.0.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 64d866f55c020a38c07fa8d5bf088ca10af11c199481353132a273076fa61da0
MD5 1ae99333d405fb166e45f297dc527027
BLAKE2b-256 eed8e06b30034bede3335884bd831feb29f6cd0e54e48e672fdd80e6a202e930

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