diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 7bcfac9..8f28bd3 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -3,10 +3,10 @@ version: 2 build: os: "ubuntu-20.04" tools: - python: "3.8" + python: "3.10" jobs: post_create_environment: - - python -m pip install sphinx_rtd_theme + - python -m pip install sphinx_rtd_theme myst-parser sphinx: fail_on_warning: true diff --git a/README.md b/README.md new file mode 100644 index 0000000..3284fb6 --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +KyuPy - Pythonic Processing of VLSI Circuits +============================================ + +KyuPy is a Python package for processing and analysis of non-hierarchical gate-level VLSI designs. +It contains fundamental building blocks for research software in the fields of VLSI test, diagnosis and reliability: + +* Efficient data structures for gate-level circuits and related design data. +* Partial [lark](https://github.com/lark-parser/lark) parsers for common design files like + bench, gate-level Verilog, standard delay format (SDF), standard test interface language (STIL), design exchange format (DEF). +* Bit-parallel gate-level 2-, 4-, and 8-valued logic simulation. +* GPU-accelerated high-throughput gate-level timing simulation. +* High-performance through the use of [numpy](https://numpy.org) and [numba](https://numba.pydata.org). + + +Getting Started +--------------- + +KyuPy is available in [PyPI](https://pypi.org/project/kyupy). +It requires Python 3.10 or newer, [lark](https://pypi.org/project/lark), and [numpy](https://numpy.org). +Although optional, [numba](https://numba.pydata.org) should be installed for best performance. [numba-cuda](https://nvidia.github.io/numba-cuda/) is required for GPU/CUDA acceleration. +If numba is not available, KyuPy will automatically fall back to slow, pure Python execution. + +The Jupyter Notebook [Introduction.ipynb](https://github.com/s-holst/kyupy/blob/main/examples/Introduction.ipynb) contains some useful examples to get familiar with the API. + + +Development +----------- + +To work with the latest pre-release source code, clone the [KyuPy GitHub repository](https://github.com/s-holst/kyupy). + +* Using ``pip``: Run ``pip install -e .`` within your local checkout to make the package available in your Python environment. The source code comes with tests that can be run with ``pytest``. +* Using ``uv``: Run ``uv run pytest`` within your local checkout to get started. diff --git a/README.rst b/README.rst deleted file mode 100644 index a00df1b..0000000 --- a/README.rst +++ /dev/null @@ -1,32 +0,0 @@ -KyuPy - Pythonic Processing of VLSI Circuits -============================================ - -KyuPy is a Python package for processing and analysis of non-hierarchical gate-level VLSI designs. -It contains fundamental building blocks for research software in the fields of VLSI test, diagnosis and reliability: - -* Efficient data structures for gate-level circuits and related design data. -* Partial `lark `_ parsers for common design files like - bench, gate-level Verilog, standard delay format (SDF), standard test interface language (STIL), design exchange format (DEF). -* Bit-parallel gate-level 2-, 4-, and 8-valued logic simulation. -* GPU-accelerated high-throughput gate-level timing simulation. -* High-performance through the use of `numpy `_ and `numba `_. - - -Getting Started ---------------- - -KyuPy is available in `PyPI `_. -It requires Python 3.8 or newer, `lark-parser `_, and `numpy`_. -Although optional, `numba`_ should be installed for best performance. -GPU/CUDA support in numba may `require some additional setup `_. -If numba is not available, KyuPy will automatically fall back to slow, pure Python execution. - -The Jupyter Notebook `Introduction.ipynb `_ contains some useful examples to get familiar with the API. - - -Development ------------ - -To work with the latest pre-release source code, clone the `KyuPy GitHub repository `_. -Run ``pip install -e .`` within your local checkout to make the package available in your Python environment. -The source code comes with tests that can be run with ``pytest``. diff --git a/docs/Makefile b/docs/Makefile index 0f632bf..b7e770c 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -1,4 +1,4 @@ -# pip install sphinx sphinx-rtd-theme +# pip install sphinx sphinx-rtd-theme myst-parser # # Minimal makefile for Sphinx documentation # diff --git a/docs/conf.py b/docs/conf.py index 632fc96..cfdc834 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -35,6 +35,7 @@ release = '0.0.6' extensions = [ 'sphinx.ext.autodoc', 'sphinx_rtd_theme', + 'myst_parser', ] # Add any paths that contain templates here, relative to this directory. diff --git a/docs/index.rst b/docs/index.rst index 06f085d..1936b13 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,4 +1,5 @@ -.. include:: ../README.rst +.. include:: ../README.md + :parser: myst_parser.sphinx_ API Reference ------------- diff --git a/pyproject.toml b/pyproject.toml index fae0708..009d148 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ authors = [ { name="Stefan Holst", email="mail@s-holst.de" }, ] description = 'High-performance processing and analysis of non-hierarchical VLSI designs' -readme = "README.rst" +readme = "README.md" requires-python = ">=3.10,<3.14" dependencies = [ "numpy>=1.17.0",