diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..21d0b89 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.venv/ diff --git a/README.md b/README.md index d659785..0252b7c 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,34 @@ All contributions become open-source themselves, under the [MIT license](https://github.com/webartifex/lalib/blob/main/LICENSE.txt). +### Local Develop Environment + +In order to play with the `lalib` codebase, + you need to set up a develop environment on your own computer. + +First, get your own copy of this repository: + +`git clone git@github.com:webartifex/lalib.git` + +While `lalib` comes without any dependencies + except core Python and the standard library for the user, + we assume a couple of packages and tools be installed + to ensure code quality during development. +These can be viewed in the + [pyproject.toml](https://github.com/webartifex/lalib/blob/main/pyproject.toml) file + and are managed with [poetry](https://python-poetry.org/docs/) + which needs to be installed as well. +`poetry` also creates and manages a + [virtual environment](https://docs.python.org/3/tutorial/venv.html) + with the develop tools, + and pins their exact installation versions in the + [poetry.lock](https://github.com/webartifex/lalib/blob/main/poetry.lock) file. + +To replicate the project maintainer's develop environment, run: + +`poetry install` + + ### Branching Strategy The branches in this repository follow the diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 0000000..2f7ba0f --- /dev/null +++ b/poetry.lock @@ -0,0 +1,6 @@ +package = [] + +[metadata] +lock-version = "2.0" +python-versions = "^3.9" +content-hash = "0ef693f84017d54b0ea1d26b405d979fc57973167b307ccd9ed780ad9bdc1a3a" diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..b4894b6 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,46 @@ +[tool.poetry] + +name = "lalib" +version = "0.4.2.dev0" + +authors = [ + "Alexander Hess ", +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: Education", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", +] +description = "A Python library to study linear algebra" +license = "MIT" +readme = "README.md" + +homepage = "https://github.com/webartifex/lalib" +repository = "https://github.com/webartifex/lalib" + + +[tool.poetry.dependencies] + +python = "^3.9" + + +[tool.poetry.group.dev.dependencies] + + + +[tool.poetry.urls] + +"Issues Tracker" = "https://github.com/webartifex/lalib/issues" + + + +[build-system] + +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" diff --git a/src/lalib/__init__.py b/src/lalib/__init__.py new file mode 100644 index 0000000..50db320 --- /dev/null +++ b/src/lalib/__init__.py @@ -0,0 +1 @@ +"""A Python library to study linear algebra."""