added publication stuff

This commit is contained in:
JOLIMAITRE Matthieu 2024-05-30 01:37:15 +02:00
parent a49b14c12c
commit 0f58f26bd4
8 changed files with 94 additions and 2 deletions

6
.gitignore vendored
View file

@ -1,2 +1,8 @@
/venv /venv
__pycache__ __pycache__
/dist
/src/pyalibert.egg-info
__pycache__
.mypy_cache

21
LICENSE Normal file
View file

@ -0,0 +1,21 @@
MIT License
Copyright (c) [year] [fullname]
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -4,7 +4,9 @@ Parses elegantly and precisely.
## Description ## Description
PyAlibert is a fully typed parser combinator library fully written in python strongly inspired by [parsy](https://github.com/python-parsy/parsy) and [chumsky](https://github.com/zesterer/chumsky). PyAlibert is a fully typed parser combinator library written in python.
Strongly inspired by [parsy](https://github.com/python-parsy/parsy) and [chumsky](https://github.com/zesterer/chumsky).
## Usage ## Usage

14
build.sh Executable file
View file

@ -0,0 +1,14 @@
#!/bin/sh
set -e
cd "$(dirname "$(realpath "$0")")"
if ! [ -d venv ]
then ./setup.sh
fi
source venv/bin/activate
rm -fr dist
python -m build
python -m twine check dist/*

9
clean.sh Executable file
View file

@ -0,0 +1,9 @@
#!/bin/sh
set -e
cd "$(dirname "$(realpath "$0")")"
rm -fr venv
rm -fr dist
rm -fr .mypy_cache
rm -fr src/okipy/__pycache__
rm -fr src/okipy.egg-info

10
publish.sh Executable file
View file

@ -0,0 +1,10 @@
#!/bin/sh
set -e
cd "$(dirname "$(realpath "$0")")"
./clean.sh
./build.sh
source venv/bin/activate
# python -m twine upload dist/*

27
pyproject.toml Normal file
View file

@ -0,0 +1,27 @@
[project]
name = "pyalibert"
version = "1.0.0"
description = "PyAlibert is a fully typed parser combinator library written in python."
keywords = ["parsing", "functional", "library", "typed", "minimal"]
classifiers = [
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
]
readme = "README.md"
license = { file = "LICENSE" }
authors = [{ name = "Matthieu Jolimaitre", email = "matthieu@imagevo.fr" }]
dependencies = []
requires-python = ">=3.9"
[project.urls]
Homepage = "https://git.barnulf.net/mb/pyalibert"
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"

View file

@ -4,4 +4,7 @@ cd "$(dirname "$(realpath "$0")")"
python3 -m venv venv python3 -m venv venv
source venv/bin/activate source venv/bin/activate
pip install -r requirements.txt pip install -r requirements.txt
# dev dependencies
python -m pip install mypy build setuptools twine