Name | Signal-System JSON |
Version |
0.0.2
JSON |
| download |
home_page | None |
Summary | A package for signal and system simulation, design, analysis, and learning. |
upload_time | 2025-08-22 17:48:22 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.13 |
license | None |
keywords |
learning
signal
system
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<div align=center>
<h1>Signal & System</h1>




[](https://pre-commit.com/)
[](https://docs.pytest.org/)
[](https://github.com/psf/black)
[](https://pycqa.github.io/isort/)
[](https://mypy-lang.org/)
[](https://github.com/hanson-hschang/Signal-System/actions/workflows/build.yml)
[](https://github.com/hanson-hschang/Signal-System/releases)
[](https://opensource.org/licenses/MIT)
</div>
A Python package for **Signal & System** simulation, design, analysis, and learning.
## Dependency & installation
### Requirements
- Python version: 3.13
- Additional package dependencies include: [NumPy](https://numpy.org/doc/stable/user/absolute_beginners.html), [SciPy](https://docs.scipy.org/doc/scipy/tutorial/index.html#user-guide), [Numba](https://numba.readthedocs.io/en/stable/user/5minguide.html), [PyTorch](https://pytorch.org/docs/stable/index.html), [Matplotlib](https://matplotlib.org/stable/users/explain/quick_start.html), [H5py](https://docs.h5py.org/en/stable/), [tqdm](https://tqdm.github.io/), and [Click](https://click.palletsprojects.com/en/stable/) (detailed in `pyproject.toml`)
### Installation
Before installation, create a Python virtual environment to manage dependencies and ensure a clean installation of the **Signal & System** package.
1. Create and activate a virtual environment: (One may use your preferred way to create a virtual environment.
This tutorial uses [Anaconda](https://docs.anaconda.com/) to manage environments.)
```properties
# Change directory to your <working_directory>
cd <working_directory>
# Create a virtual environment of name <venv>
# with Python version 3.13
conda create --name <venv> python=3.13
# Activate the virtual environment
conda activate <venv>
# Note: Exit the virtual environment
conda deactivate
```
2. Install Package: (two methods)
```properties
# Install directly from GitHub
pip install git+https://github.com/hanson-hschang/Signal-System.git
# Or clone and install
git clone https://github.com/hanson-hschang/Signal-System.git
cd Signal-System
pip install .
```
<details>
<summary> Click me to expand/collapse developer environment setup </summary>
## Developer environment setup
1. Clone and install development dependencies:
```properties
git clone https://github.com/hanson-hschang/Signal-System.git
cd Signal-System
pip install -e ".[dev]"
```
2. Generate development requirements file:
```properties
pip-compile pyproject.toml --extra=dev --output-file=requirements-dev.txt
```
3. Configure pre-commit hooks:
```properties
pre-commit install
```
### Development Tools
This project uses several tools for quality assurance:
- [pre-commit](https://pre-commit.com/): Git hooks for code quality checks
- [pytest](https://docs.pytest.org/en/stable/): Unit testing
- [Black](https://black.readthedocs.io/en/stable/): Code formatting
- [isort](https://pycqa.github.io/isort/): Package import sorting
- [mypy](https://mypy.readthedocs.io/en/stable/): Static type checking
### Running Tests
```properties
# Standard test execution
pytest -c pyproject.toml
# Run tests with coverage report
pytest -c pyproject.toml --cov=src --cov-report=xml --cov-report=term
```
### Code Style Guidelines
- Adherence to [PEP 8](https://peps.python.org/pep-0008/) style guidelines
- Mandatory type hints for all functions and variables
- Documentation using [numpydoc](https://numpydoc.readthedocs.io/en/latest/format.html) format specification
Format codebase:
```properties
# Upgrade Python syntax
pyupgrade --exit-zero-even-if-changed --py38-plus src/**/*.py
# Apply code formatting
black --config pyproject.toml ./
# Perform static type checking
mypy --config-file pyproject.toml ./
# Organize imports
isort --settings-path pyproject.toml ./
```
</details>
## Example
Please refer to [`examples`](https://github.com/hanson-hschang/Signal-System/tree/main/examples) directory and learn how to use this **Signal & System** package.
Three types of examples are provided:
- [`system`](https://github.com/hanson-hschang/Signal-System/tree/main/examples/system) provides various dynamic system simulations.
- [`control`](https://github.com/hanson-hschang/Signal-System/tree/main/examples/control) provides various control methods over dynamic systems.
- [`estimation`](https://github.com/hanson-hschang/Signal-System/tree/main/examples/estimation) provides various filtering and smoothing examples for different type of dynamic systems.
## License
This project is released under the [MIT License](https://github.com/hanson-hschang/Signal-System/blob/main/LICENSE).
## Contributing
1. Fork this repository
2. Create your feature branch (`git checkout -b feat/amazing-feature`)
3. Make your changes
4. Run the tests (`pytest -c pyproject.toml`)
5. Commit your changes (`git commit -m "feat: Add some amazing feature"`)
6. Push to the feature branch (`git push origin feat/amazing-feature`)
7. Open a Pull Request
Raw data
{
"_id": null,
"home_page": null,
"name": "Signal-System",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.13",
"maintainer_email": null,
"keywords": "Learning, Signal, System",
"author": null,
"author_email": "Heng-Sheng Chang <hanson.hschang+signal.system@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/4c/68/f4ae32b2f6a0c79a5aaa397a9de35b14d326d279d925294b0ae011d0a602/signal_system-0.0.2.tar.gz",
"platform": null,
"description": "<div align=center>\n <h1>Signal & System</h1>\n\n\n\n\n\n\n\n[](https://pre-commit.com/)\n[](https://docs.pytest.org/)\n[](https://github.com/psf/black)\n[](https://pycqa.github.io/isort/)\n[](https://mypy-lang.org/)\n\n[](https://github.com/hanson-hschang/Signal-System/actions/workflows/build.yml)\n[](https://github.com/hanson-hschang/Signal-System/releases)\n[](https://opensource.org/licenses/MIT)\n\n</div>\n\nA Python package for **Signal & System** simulation, design, analysis, and learning.\n\n## Dependency & installation\n\n### Requirements\n - Python version: 3.13\n - Additional package dependencies include: [NumPy](https://numpy.org/doc/stable/user/absolute_beginners.html), [SciPy](https://docs.scipy.org/doc/scipy/tutorial/index.html#user-guide), [Numba](https://numba.readthedocs.io/en/stable/user/5minguide.html), [PyTorch](https://pytorch.org/docs/stable/index.html), [Matplotlib](https://matplotlib.org/stable/users/explain/quick_start.html), [H5py](https://docs.h5py.org/en/stable/), [tqdm](https://tqdm.github.io/), and [Click](https://click.palletsprojects.com/en/stable/) (detailed in `pyproject.toml`)\n\n### Installation\n\nBefore installation, create a Python virtual environment to manage dependencies and ensure a clean installation of the **Signal & System** package.\n\n1. Create and activate a virtual environment: (One may use your preferred way to create a virtual environment.\nThis tutorial uses [Anaconda](https://docs.anaconda.com/) to manage environments.)\n\n ```properties\n # Change directory to your <working_directory>\n cd <working_directory>\n\n # Create a virtual environment of name <venv>\n # with Python version 3.13\n conda create --name <venv> python=3.13\n\n # Activate the virtual environment\n conda activate <venv>\n\n # Note: Exit the virtual environment\n conda deactivate\n ```\n\n2. Install Package: (two methods)\n\n ```properties\n # Install directly from GitHub\n pip install git+https://github.com/hanson-hschang/Signal-System.git\n\n # Or clone and install\n git clone https://github.com/hanson-hschang/Signal-System.git\n cd Signal-System\n pip install .\n ```\n\n<details>\n\n<summary> Click me to expand/collapse developer environment setup </summary>\n\n## Developer environment setup\n\n1. Clone and install development dependencies:\n ```properties\n git clone https://github.com/hanson-hschang/Signal-System.git\n cd Signal-System\n pip install -e \".[dev]\"\n ```\n\n2. Generate development requirements file:\n ```properties\n pip-compile pyproject.toml --extra=dev --output-file=requirements-dev.txt\n ```\n\n3. Configure pre-commit hooks:\n ```properties\n pre-commit install\n ```\n\n### Development Tools\n\nThis project uses several tools for quality assurance:\n\n- [pre-commit](https://pre-commit.com/): Git hooks for code quality checks\n- [pytest](https://docs.pytest.org/en/stable/): Unit testing\n- [Black](https://black.readthedocs.io/en/stable/): Code formatting\n- [isort](https://pycqa.github.io/isort/): Package import sorting\n- [mypy](https://mypy.readthedocs.io/en/stable/): Static type checking\n\n### Running Tests\n```properties\n# Standard test execution\npytest -c pyproject.toml\n\n# Run tests with coverage report\npytest -c pyproject.toml --cov=src --cov-report=xml --cov-report=term\n```\n\n### Code Style Guidelines\n\n- Adherence to [PEP 8](https://peps.python.org/pep-0008/) style guidelines\n- Mandatory type hints for all functions and variables\n- Documentation using [numpydoc](https://numpydoc.readthedocs.io/en/latest/format.html) format specification\n\nFormat codebase:\n```properties\n# Upgrade Python syntax\npyupgrade --exit-zero-even-if-changed --py38-plus src/**/*.py\n\n# Apply code formatting\nblack --config pyproject.toml ./\n\n# Perform static type checking\nmypy --config-file pyproject.toml ./\n\n# Organize imports\nisort --settings-path pyproject.toml ./\n```\n\n</details>\n\n## Example\n\nPlease refer to [`examples`](https://github.com/hanson-hschang/Signal-System/tree/main/examples) directory and learn how to use this **Signal & System** package.\nThree types of examples are provided:\n - [`system`](https://github.com/hanson-hschang/Signal-System/tree/main/examples/system) provides various dynamic system simulations.\n - [`control`](https://github.com/hanson-hschang/Signal-System/tree/main/examples/control) provides various control methods over dynamic systems.\n - [`estimation`](https://github.com/hanson-hschang/Signal-System/tree/main/examples/estimation) provides various filtering and smoothing examples for different type of dynamic systems.\n\n## License\n\nThis project is released under the [MIT License](https://github.com/hanson-hschang/Signal-System/blob/main/LICENSE).\n\n## Contributing\n\n1. Fork this repository\n2. Create your feature branch (`git checkout -b feat/amazing-feature`)\n3. Make your changes\n4. Run the tests (`pytest -c pyproject.toml`)\n5. Commit your changes (`git commit -m \"feat: Add some amazing feature\"`)\n6. Push to the feature branch (`git push origin feat/amazing-feature`)\n7. Open a Pull Request\n",
"bugtrack_url": null,
"license": null,
"summary": "A package for signal and system simulation, design, analysis, and learning.",
"version": "0.0.2",
"project_urls": null,
"split_keywords": [
"learning",
" signal",
" system"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "abf326bbf50f3ef39e5d33bff437afc5511ae7c7b2d355a0012ad2881809063d",
"md5": "756f51b9c25084cec720b935ab53cc03",
"sha256": "babe8621b691035a9296055402ecb6ff39d06338aeeb855b9f620706b6b63a97"
},
"downloads": -1,
"filename": "signal_system-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "756f51b9c25084cec720b935ab53cc03",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.13",
"size": 184401,
"upload_time": "2025-08-22T17:48:20",
"upload_time_iso_8601": "2025-08-22T17:48:20.428504Z",
"url": "https://files.pythonhosted.org/packages/ab/f3/26bbf50f3ef39e5d33bff437afc5511ae7c7b2d355a0012ad2881809063d/signal_system-0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4c68f4ae32b2f6a0c79a5aaa397a9de35b14d326d279d925294b0ae011d0a602",
"md5": "a09fab55ccfc711dbb9106f1ef0dfa3b",
"sha256": "af6ac401a388ffa6ae9e63ea65e07f9b9db03282b29c320166244d090da7d810"
},
"downloads": -1,
"filename": "signal_system-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "a09fab55ccfc711dbb9106f1ef0dfa3b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.13",
"size": 102328,
"upload_time": "2025-08-22T17:48:22",
"upload_time_iso_8601": "2025-08-22T17:48:22.198070Z",
"url": "https://files.pythonhosted.org/packages/4c/68/f4ae32b2f6a0c79a5aaa397a9de35b14d326d279d925294b0ae011d0a602/signal_system-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-22 17:48:22",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "signal-system"
}