Skip to main content

No project description provided

Project description

Test status PyPI version Documentation

The lamatrix package is designed to help you build linear algebra models in Python to help you fit simple models to data. lamatrix will do all the fitting and shaping inside the package, so you can put in objects of any shape and fit ND models easily.

Quickstart

The easiest way to install lamatrix and all of its dependencies is to use the pip command.

To install lamatrix, run the following command in a terminal window:

$ python -m pip install lamatrix --upgrade

The --upgrade flag is optional, but recommended if you already have lamatrix installed and want to upgrade to the latest version.

Depending on the specific Python environment, you may need to replace python with the correct Python interpreter, e.g., python3.

If you are trying to develop functionality to lamatrix you can install using github and poetry. Make sure you install the development dependencies

$ git clone https://github.com/PandoraMission/lamatrix
$ cd lamatrix
$ poetry install --with dev

You can then add functionality and run tests using

$ cd lamatrix
$ make

If you install in this way you will need to use poetry to use the code. Check out the poetry documentation for more information on how to use poetry.

Now you have the package installed, you should check out the tutorials to see how to build a model with lamatrix and fit data.

Contributing

lamatrix is an open-source package. Users are welcome to contribute and develop new features for lamatrix, or add new documentation.

To work on lamatrix and add new functionality you can follow these steps.

0. Fork the project

You should for the lamatrix github repo to your own account so that you can open pull requests against the main repository.

1. Installing the package

If you are trying to develop functionality to lamatrix you can install using github and poetry. Make sure you install the development dependencies

$ git clone https://github.com/PandoraMission/lamatrix
$ cd lamatrix
$ poetry install --with dev

This has now created a new poetry enviroment and installed the dependencies, development dependencies, and the package itself.

2. Updating the package

You can now add any updates to the package you would like. The first step is to create and name a new branch.

$ git checkout -b BRANCHNAME

If you have not used your branch in a while, make sure you pull and merge any updates on the main branch.

$ git pull origin main

You will have to resolve any merge conflicts.

Once you have update the package, you should ensure you have done the following

  • Updated the version number in the pyproject.toml file. If this is a bug fix, update the patch number. If it is adding new functionality but otherwise not changing the API update the minor number. If it is a change to the API entirely, update the major version number.

  • Update the CHANGELOG in this readme file.

  • Ensure your functionality has updated documentation. This means both adding docstrings, and adding to the API documentation in the docs/ directory.

  • Ensure your new functionality is covered by new tests. If you add any functionality, add tests in the tests/ directory.

3. Running tests

To run tests you can go into the root directory for the package and use the Makefile.

$ make

This will run black, isort, flake8, and pytest. All of these should pass locally on your machine. Ensure the tests pass before moving to the next steps.

4. Building docs

The docs can be checked by running the following from within the docs/ directory

$ make serve

This will compile and serve the docs at http://127.0.0.1:8001. This will recompile all the notebooks in the docs/ directory. You should be able to stop the serve action by using ctrl+c in the terminal window. If you accidentally close the terminal window and that port is blocked you can use

$ make stop-serve

to stop the docs on that port.

Once you have checked the docs look good you can move onto the next step.

5. Opening a Pull Request

You can now open a pull request against the main branch on the main repository. Once the PR is reviewed and found to enhance the package, it will be merged in by an administrator.

Contact

lamatrix is an open source community package. The best way to notify a bug in the package is to open an issue. Please include a self-contained example that fully demonstrates your problem or question.

Changelog:

  • Initial v1.0.0 release of lamatrix.

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

lamatrix-1.0.1.tar.gz (30.1 kB view details)

Uploaded Source

Built Distribution

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

lamatrix-1.0.1-py3-none-any.whl (34.0 kB view details)

Uploaded Python 3

File details

Details for the file lamatrix-1.0.1.tar.gz.

File metadata

  • Download URL: lamatrix-1.0.1.tar.gz
  • Upload date:
  • Size: 30.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.9.13 Darwin/24.6.0

File hashes

Hashes for lamatrix-1.0.1.tar.gz
Algorithm Hash digest
SHA256 64c476fa58d88c9e0457da95e9bdcabd27e72fe0ccaa6dd3572393e99655a511
MD5 af6a80a47047c64272891e21854a7614
BLAKE2b-256 d8e645146d26d406105fadc3fb7118dff62e41927883c49e7fb6243c1f2a9201

See more details on using hashes here.

File details

Details for the file lamatrix-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: lamatrix-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 34.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.9.13 Darwin/24.6.0

File hashes

Hashes for lamatrix-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ef59a19c3743a7672406fcfaec88d4bff6665b4e13713749d4ba85a83c2b63b9
MD5 7161abab83789a27822e184b74804541
BLAKE2b-256 cb3fba1f72534e6f318af00309203090cc0c5759c9c8e6fe0c6b01e313f35915

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