Matrix Operations on Data Arrays
Project description
* DataMat
/Matrix Operations on Data Arrays./ A pandas-friendly toolkit that wraps rich matrix algebra primitives in DataFrame/Series-aware containers (~DataMat~, ~DataVec~).
** Features
- Drop-in replacements for many ~numpy~ matrix operations that preserve pandas metadata.
- Helpers for aligning MultiIndex structures and constructing dummy variables from categorical sources.
- A ~DataVec~/~DataMat~ API that mirrors pandas while adding linear-algebra conveniences (projection, leverage, SVD, etc.).
** Repository Layout
#+begin_example
src/datamat/ Core source code (DataMat, DataVec, utilities)
docs/ Historical literate notebooks and design notes
tests/ Unit tests
scripts/ Development tooling (e.g., pre-push hook)
#+end_example
** Getting Started
1. Install Python 3.11 (e.g., via pyenv) and Poetry (https://python-poetry.org/docs/).
2. Create and initialise the virtual environment:
#+begin_src bash
poetry env use 3.11
poetry install --with dev
# optional extras, e.g. lsms, can be added via `poetry add`
#+end_src
3. Run the quality gates and test suite:
#+begin_src bash
poetry run ruff check .
poetry run black --check .
poetry run mypy src tests
poetry run pytest
# or simply
make check
#+end_src
** Development Workflow
- Contribution guidelines: [[file:CONTRIBUTING.org][CONTRIBUTING.org]]
- Agent-specific policies: [[file:AGENTS.org][AGENTS.org]]
- Pre-push automation: =ln -s ../../scripts/pre-push.sh .git/hooks/pre-push=
** Documentation
The historical literate source from the original Metrics Miscellany project lives in =docs/metrics_miscellany.org=. It remains the best place to reference derivations and design notes. Current development happens directly in the Python modules under =src/datamat/=; augment the Org materials when adding new capabilities.
** Online Docs
Rendered documentation generated by MkDocs is available at [[https://ligon.github.io/DataMat/]].
** Optional Dependencies
- Robust Stata ingestion relies on =lsms.tools.from_dta=. Install the =lsms= package if you plan to call =datamat.read_stata=.
** License
The project continues under the original license; see =LICENSE.txt=.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
datamat-0.2.4.tar.gz
(25.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
datamat-0.2.4-py3-none-any.whl
(25.6 kB
view details)
File details
Details for the file datamat-0.2.4.tar.gz.
File metadata
- Download URL: datamat-0.2.4.tar.gz
- Upload date:
- Size: 25.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.12 Linux/6.6.99-09128-g14e87a8a9b71
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
010c0718f15069277c27c7f93446e3569fa31dcd0a4ecb9768a76d9996412a00
|
|
| MD5 |
39996d0d5778c6bb1de41c28b4d30182
|
|
| BLAKE2b-256 |
499fb9754069190264fc69de6f665e01165c744e0c9c6d21fd46105c68f4baf2
|
File details
Details for the file datamat-0.2.4-py3-none-any.whl.
File metadata
- Download URL: datamat-0.2.4-py3-none-any.whl
- Upload date:
- Size: 25.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.12 Linux/6.6.99-09128-g14e87a8a9b71
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65b4101520c42aee55708b4a5a4ff827455a9f178b7c24281bf7744ba3e5091d
|
|
| MD5 |
6c88bd4183f5242c2330ce3287c7e192
|
|
| BLAKE2b-256 |
15f3a394f40ed8271abd4b55dbba158618a392680b7779eca04902843ed3adb2
|