diff --git a/docs/assets/images/SOERP.svg b/docs/assets/images/SOERP.svg new file mode 100644 index 0000000..833da4e --- /dev/null +++ b/docs/assets/images/SOERP.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/assets/images/ad.ico b/docs/assets/images/ad.ico new file mode 100644 index 0000000..2fca2a7 Binary files /dev/null and b/docs/assets/images/ad.ico differ diff --git a/docs/assets/images/deltaFlow.png b/docs/assets/images/deltaFlow.png new file mode 100644 index 0000000..75c76d9 Binary files /dev/null and b/docs/assets/images/deltaFlow.png differ diff --git a/docs/assets/images/mcerp.ico b/docs/assets/images/mcerp.ico new file mode 100644 index 0000000..4277c87 Binary files /dev/null and b/docs/assets/images/mcerp.ico differ diff --git a/docs/assets/images/nulapack.png b/docs/assets/images/nulapack.png new file mode 100644 index 0000000..67fd42c Binary files /dev/null and b/docs/assets/images/nulapack.png differ diff --git a/docs/assets/images/pydoe.svg b/docs/assets/images/pydoe.svg new file mode 100644 index 0000000..aecfd08 --- /dev/null +++ b/docs/assets/images/pydoe.svg @@ -0,0 +1,250 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/assets/images/pyswarm.ico b/docs/assets/images/pyswarm.ico new file mode 100644 index 0000000..f7c2cf9 Binary files /dev/null and b/docs/assets/images/pyswarm.ico differ diff --git a/docs/assets/images/qtop.ico b/docs/assets/images/qtop.ico new file mode 100644 index 0000000..15115cc Binary files /dev/null and b/docs/assets/images/qtop.ico differ diff --git a/docs/assets/stylesheets/extra.css b/docs/assets/stylesheets/extra.css new file mode 100644 index 0000000..39bc911 --- /dev/null +++ b/docs/assets/stylesheets/extra.css @@ -0,0 +1,15 @@ +.md-typeset a, +.md-nav__link, +.md-tabs__link, +.md-header__topic, +.md-ellipsis { + color: inherit !important; + text-decoration: none !important; +} + +.md-typeset a:hover, +.md-nav__link:hover, +.md-tabs__link:hover { + color: inherit !important; + text-decoration: none !important; +} diff --git a/docs/blogs/index.md b/docs/blogs/index.md new file mode 100644 index 0000000..8b56a58 --- /dev/null +++ b/docs/blogs/index.md @@ -0,0 +1,13 @@ +--- +icon: fontawesome/solid/newspaper +--- + +# Blogs + +
+ +- ruff and uv! + + --- + +
diff --git a/docs/blogs/ruff-and-uv.md b/docs/blogs/ruff-and-uv.md new file mode 100644 index 0000000..f3ca573 --- /dev/null +++ b/docs/blogs/ruff-and-uv.md @@ -0,0 +1,35 @@ +--- +icon: fontawesome/solid/pen +--- + +# ruff and uv! + +
+ ruff + uv +
+ +If you are building and maintaining Python packages, `ruff` and `uv` are one of the most practical combinations available today. Together, they create a development rhythm that feels both precise and lightweight: quick feedback, fewer moving parts, and a workflow that stays readable for individual maintainers and teams alike. + +## Why `ruff` + +`ruff` works like a careful editor that is also remarkably fast. It catches style and correctness issues early, enforces consistent conventions across files, and reduces noisy review cycles before code ever reaches pull requests. Because formatting and linting live in the same ecosystem, the codebase keeps a clean, coherent voice without requiring a stack of separate tools. + +In practice, this means better maintainability and less friction. Contributors spend less time debating formatting details and more time improving logic, tests, and documentation. + +## Why `uv` + +`uv` brings speed and clarity to the parts of Python development that often feel repetitive: creating environments, installing dependencies, and running project commands. Its unified command surface makes daily workflows easier to remember and easier to document, which is especially valuable for open-source onboarding. + +For package maintainers, the strongest advantage is reproducibility. When the setup path is predictable and quick, local development, CI checks, and release preparation stay aligned with fewer surprises. + +## Minimal Setup + +```bash +uv venv +uv pip install -e . +uv pip install ruff pytest +ruff check . +ruff format . +uv run pytest +``` diff --git a/docs/community/index.md b/docs/community/index.md index 0ec14b4..5ed3e13 100644 --- a/docs/community/index.md +++ b/docs/community/index.md @@ -1,82 +1,34 @@ --- -icon: lucide/users +icon: fontawesome/solid/users --- # Community -eggzec is an open community. Everything we build is developed in the open on GitHub, and contributions of any kind are welcome — from bug reports and documentation improvements to new features and new packages. - ---- - -## Team -
-- Saud Zahir +- M. Saud Zahir --- - Co-founder and maintainer. Works across the full stack of eggzec packages — numerical methods, Fortran extensions, Python APIs, and CI/CD infrastructure. - - [:fontawesome-brands-github: saudzahirr](https://github.com/saudzahirr) + Co-founder and maintainer. Software developer focused on Python, C++, + and Rust for backend services and high-performance scientific computing. -- M Laraib Ali +- M. Laraib Ali --- - Co-founder and maintainer. Contributes to package development, testing, and documentation across the eggzec ecosystem. + Co-founder and maintainer. Backend and systems engineer specializing in + Python and Go, Linux automation, PostgreSQL, observability, and containers. - [:fontawesome-brands-github: laraibg786](https://github.com/laraibg786) - -- Noor Mustafa +- Noor Mustafa --- - Contributor and member of the eggzec organisation. - - [:fontawesome-brands-github: Noor-Mustafa123](https://github.com/Noor-Mustafa123) + Maintainer. Java-focused backend developer working with Spring, Nginx, + IntelliJ IDEA, Kotlin, and Python.
--- -## Contributing - -We welcome contributions to any of our packages. Each repository has its own contributing guide — a good place to start is the `CONTRIBUTING.md` file in the relevant repo, or the documentation site for that package. - -### General guidelines - -- **Bug reports** — Open an issue in the relevant GitHub repository with a minimal reproducible example. -- **Feature requests** — Open an issue describing the use case and expected behaviour before starting implementation. -- **Pull requests** — Fork the repository, create a branch, and open a PR against `master`. All PRs run the full test suite via GitHub Actions. -- **Documentation** — Documentation improvements are always appreciated. Each package uses [Zensical](https://zensical.org) for its docs, with source files in the `docs/` directory. - -### Code quality - -All packages enforce: - -- [Ruff](https://docs.astral.sh/ruff/) for linting and formatting -- [pytest](https://pytest.org) with coverage reporting via [codecov](https://codecov.io) -- Static analysis via [SonarCloud](https://sonarcloud.io) (selected packages) - ---- - -## Repositories - -| Package | GitHub | Org | -|---------|--------|-----| -| soerp3 | [eggzec/soerp3](https://github.com/eggzec/soerp3) | eggzec | -| sparse_grid | [eggzec/sparse_grid](https://github.com/eggzec/sparse_grid) | eggzec | -| kronrod | [eggzec/kronrod](https://github.com/eggzec/kronrod) | eggzec | -| polpack | [eggzec/polpack](https://github.com/eggzec/polpack) | eggzec | -| cordic | [eggzec/cordic](https://github.com/eggzec/cordic) | eggzec | -| smolpack | [eggzec/smolpack](https://github.com/eggzec/smolpack) | eggzec | -| sdepack | [eggzec/sdepack](https://github.com/eggzec/sdepack) | eggzec | -| deltaFlow | [eggzec/deltaFlow](https://github.com/eggzec/deltaFlow) | eggzec | -| NULAPACK | [nulapack/nulapack](https://github.com/nulapack/nulapack) | nulapack | -| pydoe | [pydoe/pydoe](https://github.com/pydoe/pydoe) | pydoe | -| JavaDOE | [Java-DOE/JavaDOE](https://github.com/Java-DOE/JavaDOE) | Java-DOE | -| permit | [eggzec/permit](https://github.com/eggzec/permit) | eggzec | -| qqq | [eggzec/qqq](https://github.com/eggzec/qqq) | eggzec | - -Browse the full organisation: [:fontawesome-brands-github: github.com/eggzec](https://github.com/eggzec) +Want to join? Start with [:fontawesome-brands-github: github.com/eggzec](https://github.com/eggzec) diff --git a/docs/community/laraib.md b/docs/community/laraib.md new file mode 100644 index 0000000..0e72562 --- /dev/null +++ b/docs/community/laraib.md @@ -0,0 +1,22 @@ +# M. Laraib Ali + +![M Laraib Ali](https://github.com/laraibg786.png){ width="120" style="border-radius:12px;" } + +[:fontawesome-brands-github: GitHub](https://github.com/laraibg786) +  [:fontawesome-brands-gitlab: GitLab](https://gitlab.com/laraibg786) +  [:fontawesome-brands-python: PyPI](https://pypi.org/user/Laraibg786/) +  [:fontawesome-brands-linkedin: LinkedIn](https://www.linkedin.com/in/m-laraib-ali/) +  [:fontawesome-solid-envelope: Email](mailto:laraibg786@outlook.com) + +Backend and systems engineer specializing in Python and Go, building reliable, scalable services and automation on Linux and containerized environments. Experienced in distributed systems, PostgreSQL design, and observability with logging, tracing, and metrics to support production reliability and data-driven operations. + +
+ Python + Go + Qt + PostgreSQL + MongoDB + Redis + Linux + Docker +
diff --git a/docs/community/noor.md b/docs/community/noor.md new file mode 100644 index 0000000..e03c4f8 --- /dev/null +++ b/docs/community/noor.md @@ -0,0 +1,17 @@ +# Noor Mustafa + +![Noor Mustafa](https://github.com/Noor-Mustafa123.png){ width="120" style="border-radius:12px;" } + +[:fontawesome-brands-github: GitHub](https://github.com/Noor-Mustafa123) +  [:fontawesome-brands-linkedin: LinkedIn](https://www.linkedin.com/in/noormustafa715/) + +Passionate Java developer focused on building reliable backend applications with Spring Boot. I enjoy solving complex problems, learning continuously, and collaborating in team environments to deliver clean, maintainable software. + +
+ Java + Spring + Nginx + IntelliJ IDEA + Kotlin + Python +
diff --git a/docs/community/saud.md b/docs/community/saud.md new file mode 100644 index 0000000..7b9ef3e --- /dev/null +++ b/docs/community/saud.md @@ -0,0 +1,20 @@ +# M. Saud Zahir + +![Saud Zahir](https://github.com/saudzahirr.png){ width="120" style="border-radius:12px;" } + +[:fontawesome-brands-github: GitHub](https://github.com/saudzahirr) +  [:fontawesome-brands-gitlab: GitLab](https://gitlab.com/saudzahirr) +  [:fontawesome-brands-python: PyPI](https://pypi.org/user/saudzahirr/) +  [:fontawesome-brands-linkedin: LinkedIn](https://www.linkedin.com/in/saudzahirr/) +  [:fontawesome-solid-envelope: Email](mailto:m.saud.zahir@gmail.com) + +Software Developer with expertise in Python, C++, and Rust. Experienced in backend services, GUI deployment, databases, object-oriented design, and high-performance scientific computing. I work across the full software lifecycle, from problem formulation and system design to implementation, optimization, and deployment, with a focus on clean, maintainable, and reliable solutions for data-intensive environments. + +
+ Python + C++ + Rust + Java + Fortran + Qt +
diff --git a/docs/contact.md b/docs/contact.md new file mode 100644 index 0000000..ce30b6a --- /dev/null +++ b/docs/contact.md @@ -0,0 +1,19 @@ +--- +icon: fontawesome/solid/envelope +--- + +# Contact + +For project questions, collaboration, or contribution discussions, use one of the channels below. + +## Primary Channels + +- GitHub Organization: [:fontawesome-brands-github: github.com/eggzec](https://github.com/eggzec) +- Community: [Meet the maintainers](community/index.md) + +## Direct Contacts + +* [:fontawesome-solid-envelope:](mailto:m.saud.zahir@gmail.com) M. Saud Zahir +* [:fontawesome-solid-envelope:](mailto:laraibg786@outlook.com) M. Laraib Ali + +If your inquiry is about a specific repository, please include the repo name and a short description so we can respond faster. diff --git a/docs/contributing.md b/docs/contributing.md new file mode 100644 index 0000000..2986595 --- /dev/null +++ b/docs/contributing.md @@ -0,0 +1,100 @@ +--- +icon: fontawesome/solid/code-pull-request +--- + +# Contributing + +Thank you for your interest in contributing. +This guide explains how to report issues, propose changes, and keep contributions consistent across code, documentation, and testing. + +## How to Contribute + +You can contribute in several ways: + +- Report bugs or suggest improvements through GitHub Issues. +- Answer questions and help other users. +- Submit pull requests. +- Improve or expand documentation. +- Add or improve tests. +- Review open pull requests. + +> Before starting significant work (other than small typo or minor bug fixes), please open an issue first to discuss your proposal. + +## Reporting Issues + +When filing an issue: + +- Search existing issues to avoid duplicates. +- Use a clear, descriptive title and include a category where possible (for example: `bug - ...`, `feature-req - ...`). +- For bugs, provide steps to reproduce the issue. +- Describe expected behavior and actual behavior. +- Include environment details when relevant (OS, Python version, dependency versions). +- If possible, share a minimal reproducible example. + +## Submitting Pull Requests + +### Prerequisites + +You will need: + +- `git` +- [`uv`](https://docs.astral.sh/uv/getting-started/installation) +- Any code editor or IDE (for example VS Code, PyCharm, or similar) + +### Installation and Setup + +Fork the repository on GitHub and clone it locally. + +```bash +git clone https://github.com//.git --depth 1 +cd +uv sync +``` + +Create a new branch for your changes. + +```bash +git checkout -b +``` + +### Run Linting and Tests + +Add or update tests when your change affects behavior. +Run linting and tests before opening your PR. + +```bash +# linting and formatting (if applicable) +uvx ruff format . +uvx ruff check --fix . + +# tests (if available) +uv run pytest -n auto tests +``` + +### Build Documentation + +If you changed documentation, build and preview docs locally and check for warnings. + +```bash +uv run --with=zensical zensical build --clean --strict +``` + +### Open a Pull Request + +After finalizing your changes: + +1. Commit with a descriptive message. +2. Push your branch to your fork. +3. Open a **draft pull request** against the parent repository's default branch. +4. Include a clear summary and reference related issues. + +Mark the PR as ready for review when checks pass and the change is ready. + +## Good First Contributions + +- Improve documentation clarity and examples. +- Fix broken links, formatting, and small consistency issues. +- Add tests for uncovered behavior. +- Pick up `good first issue` or documentation-tagged issues. + +Thank you for helping improve eggzec. diff --git a/docs/how-we-build.md b/docs/how-we-build.md new file mode 100644 index 0000000..08eedbf --- /dev/null +++ b/docs/how-we-build.md @@ -0,0 +1,121 @@ +--- +icon: fontawesome/solid/layer-group +--- + +# How We Build + +Here are the tools we actively use to build, test, ship, and maintain software. + +## Languages + +
+
+ Python + Go + Java + Rust +
+
+ C++ + Fortran +
+
+ +## Frameworks + +
+ Spring + Boost C++ + Flask + FastAPI + Pydantic + SQLAlchemy +
+ +## Data Science and ML + +
+ NumPy + SciPy + PyTorch + TensorFlow + pandas +
+ +## Databases + +
+ SQLite + PostgreSQL + MongoDB +
+ +## GUI + +
+ Qt + PySide +
+ +## Build Systems + +
+ CMake + Meson + setuptools +
+ +## Package Managers + +
+ uv + micromamba + vcpkg + Conan +
+ +## Containers and Platforms + +
+ Docker + Linux +
+ +## IDEs + +
+ IntelliJ IDEA + PyCharm + CLion + DataGrip + Visual Studio Code + Visual Studio +
+ +## Code Quality + +
+ Ruff + SonarQube +
+ +## Code Testing + +
+ pytest + Catch2 +
+ +## Documentation + +
+ Zensical + Doxygen +
+ +## AI + +
+ Claude Code + OpenAI +
diff --git a/docs/index.md b/docs/index.md index a508590..42e6a59 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,128 +1,71 @@ --- -icon: lucide/home +icon: fontawesome/solid/house --- # eggzec -**Science & Computing** +**Science + Computing** --- -We are a community of scientists and engineers building high-quality, open-source scientific Python packages. Our tools are designed to bring production-grade numerical methods, mathematical routines, and engineering utilities directly into Python — with clean APIs, rigorous testing, and thorough documentation. +A community focused on open source high-performance scientific computing and modern software development.
-- :lucide-sigma: **soerp3** +- pyswarm --- - Second-order error propagation (uncertainty analysis) for Python. - Transparently tracks uncertainty through mathematical calculations using - the first eight statistical moments. + Particle Swarm Optimization for Python. - **License:** BSD-3-Clause  |  **PyPI:** `pip install soerp3` + [:fontawesome-solid-book: Documentation](https://eggzec.github.io/pyswarm/) +   [:fontawesome-brands-github: GitHub](https://github.com/eggzec/pyswarm) - [:octicons-arrow-right-24: Documentation](https://eggzec.github.io/soerp3/) -   [:fontawesome-brands-github: Source](https://github.com/eggzec/soerp3) - -- :lucide-grid-2x2: **sparse\_grid** +- pydoe --- - Pure-Python implementation of regular sparse grids over box domains. - Provides hierarchical index generation, coefficient conversion, and - fast function evaluation using hat basis functions. - - **License:** BSD-3-Clause  |  **PyPI:** `pip install sparse-grid` + Design of Experiments for Python. - [:octicons-arrow-right-24: Documentation](https://eggzec.github.io/sparse_grid/) -   [:fontawesome-brands-github: Source](https://github.com/eggzec/sparse_grid) + [:fontawesome-solid-book: Documentation](https://pydoe.github.io/pydoe/) +   [:fontawesome-brands-github: GitHub](https://github.com/pydoe/pydoe) -- :lucide-function-square: **polpack** +- mcerp --- - Special functions and recursively-defined polynomial families for Python. - Fortran-backed routines for Bernoulli, Chebyshev, Gegenbauer, Hermite, - Laguerre, Legendre polynomials, and more. - - **License:** LGPL-2.1  |  **PyPI:** `pip install polpack` + Monte Carlo error propagation for uncertainty analysis in Python. - [:octicons-arrow-right-24: Documentation](https://eggzec.github.io/polpack/) -   [:fontawesome-brands-github: Source](https://github.com/eggzec/polpack) + [:fontawesome-solid-book: Documentation](https://eggzec.github.io/mcerp/) +   [:fontawesome-brands-github: GitHub](https://github.com/eggzec/mcerp) -- :lucide-calculator: **smolpack** +- soerp --- - Multidimensional quadrature over the unit hypercube using Smolyak's - sparse-grid algorithm with Clenshaw–Curtis rules. Delayed and standard - variants provided. + Second-order error propagation for uncertainty analysis in Python. - **License:** LGPL-2.1  |  **PyPI:** `pip install smolpack` + [:fontawesome-solid-book: Documentation](https://eggzec.github.io/soerp/) +   [:fontawesome-brands-github: GitHub](https://github.com/eggzec/soerp) - [:octicons-arrow-right-24: Documentation](https://eggzec.github.io/smolpack/) -   [:fontawesome-brands-github: Source](https://github.com/eggzec/smolpack) - -- :lucide-trending-up: **sdepack** +- ad --- - Runge–Kutta numerical integration of stochastic differential equations. - Solvers from first-order Euler–Maruyama to fourth-order stochastic RK - methods using Kasdin coefficients. - - **License:** MIT  |  **PyPI:** `pip install sdepack` - - [:octicons-arrow-right-24: Documentation](https://eggzec.github.io/sdepack/) -   [:fontawesome-brands-github: Source](https://github.com/eggzec/sdepack) - -- :lucide-zap: **deltaFlow** - - --- - - Power system analysis tool for steady-state and dynamic simulation of - electrical networks. Built for engineers and researchers working on - grid analysis and planning. - - **License:** Open Source + First- and second-order automatic differentiation for Python. - [:octicons-arrow-right-24: Documentation](https://eggzec.github.io/deltaFlow/) -   [:fontawesome-brands-github: Source](https://github.com/eggzec/deltaFlow) + [:fontawesome-solid-book: Documentation](https://pythonhosted.org/ad/) +   [:fontawesome-brands-github: GitHub](https://github.com/eggzec/ad) -- :lucide-table: **NULAPACK** +- qtop --- - NUmerical Linear Algebra PACKage — lightweight, high-performance routines - implemented in Fortran with Python and C++ interfaces. Developed under - the `nulapack` organisation. + HPC queue and cluster monitor. - **License:** GPL-3.0  |  **PyPI:** `pip install nulapack` - - [:octicons-arrow-right-24: Documentation](https://nulapack.github.io/NULAPACK/) -   [:fontawesome-brands-github: Source](https://github.com/nulapack/nulapack) - -- :lucide-flask-conical: **pydoe** - - --- - - Design of Experiments for Python — full-factorial, fractional-factorial, - Plackett–Burman, Box–Behnken, central composite, and Latin Hypercube - designs. Developed under the `pydoe` organisation. - - **License:** BSD-3-Clause  |  **PyPI:** `pip install pydoe` - - [:octicons-arrow-right-24: Documentation](https://pydoe.github.io/pydoe/) -   [:fontawesome-brands-github: Source](https://github.com/pydoe/pydoe) + [:fontawesome-solid-book: Documentation](https://eggzec.github.io/qtop/) +   [:fontawesome-brands-github: GitHub](https://github.com/eggzec/qtop)
--- - -## Get Involved - -All packages are open source and openly developed on GitHub. We welcome bug reports, feature requests, and pull requests. - -- Browse our repositories: [:fontawesome-brands-github: github.com/eggzec](https://github.com/eggzec) -- See the [Community](community/index.md) page to learn about the team and how to contribute. diff --git a/docs/projects/index.md b/docs/projects/index.md index 05619f1..e5f9291 100644 --- a/docs/projects/index.md +++ b/docs/projects/index.md @@ -1,302 +1,223 @@ --- -icon: lucide/package +icon: fontawesome/solid/diagram-project --- # Projects -All packages are open source, available on PyPI, and actively maintained. They are designed to compose well together — for example, `sparse_grid` and `smolpack` share the same sparse-grid foundations, `polpack` feeds quadrature rules used by `smolpack`, and `soerp3` can build on any of the numerical outputs. +
---- +- :fontawesome-brands-github: **bb** -## Numerical Analysis + --- -### soerp3 + A Bitbucket CLI and SDK client. -**Second Order Error Propagation for Python** + [:fontawesome-brands-github: GitHub](https://github.com/eggzec/bb) -`soerp3` is the Python implementation of the original Fortran code `SOERP` by N. D. Cox. It applies a second-order analysis to error propagation (uncertainty analysis), allowing you to transparently track the effects of uncertainty through mathematical calculations. The result of all calculations produces a *mean*, *variance*, and *standardized skewness and kurtosis* coefficients. +- :fontawesome-brands-github: **vatic** -The package requires the **first eight statistical moments** of the input distributions (mean, variance, and standardized 3rd–8th moments). These can be supplied manually, or generated using built-in constructors or `scipy.stats` distributions. + --- -| | | -|---|---| -| **Repository** | [github.com/eggzec/soerp3](https://github.com/eggzec/soerp3) | -| **Documentation** | [eggzec.github.io/soerp3](https://eggzec.github.io/soerp3/) | -| **PyPI** | `pip install soerp3` | -| **License** | BSD-3-Clause | + Open-source risk analysis with predictive modeling and Monte Carlo + simulation for uncertainty workflows. -```python -from soerp3 import N, umath + [:fontawesome-brands-github: GitHub](https://github.com/eggzec/vatic) -H = N(64, 0.5) # Normal(mean=64, std=0.5) -M = N(16, 0.1) -P = N(361, 2) -t = N(165, 0.5) -C = 38.4 -Q = C * umath.sqrt((520 * H * P) / (M * (t + 460))) -Q.describe() -``` +- qtop ---- + --- -### sparse\_grid + Text-mode HPC queue monitor for PBS, SGE, and OAR clusters. -**A Python Sparse Grid Package** + [:fontawesome-solid-book: Documentation](https://eggzec.github.io/qtop/) +   [:fontawesome-brands-github: GitHub](https://github.com/eggzec/qtop) -`sparse_grid` is a pure-Python implementation of regular sparse grids over box domains. It provides hierarchical index generation, nodal-to-hierarchical coefficient conversion, and fast function evaluation using the hat (piecewise-linear) basis. +- pyswarm -| | | -|---|---| -| **Repository** | [github.com/eggzec/sparse_grid](https://github.com/eggzec/sparse_grid) | -| **Documentation** | [eggzec.github.io/sparse_grid](https://eggzec.github.io/sparse_grid/) | -| **PyPI** | `pip install sparse-grid` | -| **License** | BSD-3-Clause | + --- -```python -from sparse_grid import SparseGrid + Particle Swarm Optimization (PSO) for Python with a lightweight API for + constrained, gradient-free optimization. -sg = SparseGrid(dim=2, level=3) -sg.generate_points() -for index in sg.indices: - pos = sg.g_p[tuple(index)].pos - sg.g_p[tuple(index)].fv = ( - 4.0 * pos[0] * (1.0 - pos[0]) * 4.0 * pos[1] * (1.0 - pos[1]) - ) -sg.nodal_2_hier() -print(sg.eval_funct([0.25, 0.75])) -``` + [:fontawesome-solid-book: Documentation](https://eggzec.github.io/pyswarm/) +   [:fontawesome-brands-github: GitHub](https://github.com/eggzec/pyswarm) ---- +- pydoe -### kronrod + --- -**Gauss-Kronrod Quadrature Rules for Python** + Design of Experiments package for Python with factorial, + response-surface, space-filling, and optimal design methods. -`kronrod` computes abscissas and weights of Gauss-Kronrod quadrature rules. It optimally adds N+1 points to an N-point Gauss rule to produce a (2N+1)-point Gauss-Kronrod rule for numerical integration, allowing function values from the Gauss rule to be reused. + [:fontawesome-solid-book: Documentation](https://pydoe.github.io/pydoe/) +   [:fontawesome-brands-github: GitHub](https://github.com/pydoe/pydoe) -| | | -|---|---| -| **Repository** | [github.com/eggzec/kronrod](https://github.com/eggzec/kronrod) | -| **PyPI** | `pip install kronrod` | -| **License** | LGPL-2.1 | +- mcerp ---- + --- -### smolpack + Real-time Monte Carlo error propagation for Python using + latin-hypercube sampling. -**Multidimensional Quadrature Using Sparse Grids for Python** + [:fontawesome-solid-book: Documentation](https://eggzec.github.io/mcerp/) +   [:fontawesome-brands-github: GitHub](https://github.com/eggzec/mcerp) -`smolpack` is a high-performance library for numerical integration (cubature) over the unit hypercube [0,1]^d using Smolyak's algorithm with Clenshaw–Curtis quadrature rules. Two solvers are provided: a *delayed Clenshaw–Curtis* variant (fewer function evaluations) and a *standard Clenshaw–Curtis* variant. +- soerp -| | | -|---|---| -| **Repository** | [github.com/eggzec/smolpack](https://github.com/eggzec/smolpack) | -| **Documentation** | [eggzec.github.io/smolpack](https://eggzec.github.io/smolpack/) | -| **PyPI** | `pip install smolpack` | -| **License** | LGPL-2.1 | + --- -```python -import numpy as np -import smolpack + Second-order error propagation for Python to track uncertainty through + mathematical models using distribution moments. -def my_func(dim, x): - return np.exp(np.sum(x)) + [:fontawesome-solid-book: Documentation](https://eggzec.github.io/soerp/) +   [:fontawesome-brands-github: GitHub](https://github.com/eggzec/soerp) -result = smolpack.int_smolyak(my_func, dim=3, qq=5) -``` +- ad ---- + --- -### sdepack + First- and second-order automatic differentiation for Python with + transparent numerical operations. -**Runge–Kutta Numerical Integration of Stochastic Differential Equations** + [:fontawesome-solid-book: Documentation](https://pythonhosted.org/ad/) +   [:fontawesome-brands-github: GitHub](https://github.com/eggzec/ad) -`sdepack` provides high-performance numerical solvers for scalar Itô SDEs of the form: +- :fontawesome-brands-github: **sdepack** -$$dX(t) = F(X, t)\,dt + Q\,G(X, t)\,dW(t)$$ + --- -Solvers range from the first-order **Euler–Maruyama** scheme to fourth-order stochastic Runge–Kutta methods using Kasdin coefficients. All solvers are deterministic via seed-controlled integration. + Stochastic Runge-Kutta solvers for scalar Ito SDEs, from Euler-Maruyama + to higher-order schemes. -| | | -|---|---| -| **Repository** | [github.com/eggzec/sdepack](https://github.com/eggzec/sdepack) | -| **Documentation** | [eggzec.github.io/sdepack](https://eggzec.github.io/sdepack/) | -| **PyPI** | `pip install sdepack` | -| **License** | MIT | + [:fontawesome-solid-book: Documentation](https://eggzec.github.io/sdepack/) +   [:fontawesome-brands-github: GitHub](https://github.com/eggzec/sdepack) -```python -import numpy as np -import sdepack +- :fontawesome-brands-github: **smolpack** -x = np.zeros(101, dtype=np.float64) -sdepack.rk4_ti_solve( - lambda x: -0.5 * x, # drift - lambda x: 1.0, # diffusion - x, 0.0, 10.0, 1.0, 100, 0.1, 42 -) -``` + --- ---- + Multidimensional cubature over `[0,1]^d` using Smolyak sparse-grid + construction with Clenshaw-Curtis rules. -## Special Functions & Algebra + [:fontawesome-solid-book: Documentation](https://eggzec.github.io/smolpack/) +   [:fontawesome-brands-github: GitHub](https://github.com/eggzec/smolpack) -### polpack +- NULAPACK -**Special Functions and Recursively-Defined Polynomial Families** + --- -`polpack` is a high-performance library for evaluating special functions and recursively-defined polynomial families. The numerical core is written in Fortran and compiled via `f2py`. It includes routines for **Bernoulli**, **Chebyshev**, **Gegenbauer**, **Hermite**, **Laguerre**, and **Legendre** polynomials, among others, as well as combinatorial functions. + Numerical linear algebra package with Fortran core subroutines and + Python/C++ interfaces. -| | | -|---|---| -| **Repository** | [github.com/eggzec/polpack](https://github.com/eggzec/polpack) | -| **Documentation** | [eggzec.github.io/polpack](https://eggzec.github.io/polpack/) | -| **PyPI** | `pip install polpack` | -| **License** | LGPL-2.1 | + [:fontawesome-solid-book: Documentation](https://nulapack.github.io/NULAPACK/) +   [:fontawesome-brands-github: GitHub](https://github.com/NULAPACK/NULAPACK) -```python -import numpy as np -import polpack +- :fontawesome-brands-github: **polpack** -bell = np.zeros(11, dtype=np.int32) -polpack.bell(10, bell) -print(f"Bell numbers: {bell}") -``` + --- ---- + High-performance special functions and polynomial families with a + Fortran numerical core. -### cordic + [:fontawesome-solid-book: Documentation](https://eggzec.github.io/polpack/) +   [:fontawesome-brands-github: GitHub](https://github.com/eggzec/polpack) -**CORDIC Algorithm for Python** +- :fontawesome-brands-github: **kronrod** -`cordic` is a high-performance Python library implementing the CORDIC (COordinate Rotation DIgital Computer) algorithm for evaluating trigonometric, hyperbolic, exponential, logarithmic, and root functions using only shifts, additions, and a small look-up table. The core is written in C. + --- -| | | -|---|---| -| **Repository** | [github.com/eggzec/cordic](https://github.com/eggzec/cordic) | -| **PyPI** | `pip install cordic` | -| **License** | LGPL-2.1 | + Gauss-Kronrod quadrature rule generator for reusable high-accuracy + numerical integration. ---- + [:fontawesome-solid-book: Documentation](https://eggzec.github.io/kronrod/) +   [:fontawesome-brands-github: GitHub](https://github.com/eggzec/kronrod) -### NULAPACK +- :fontawesome-brands-github: **sparse_grid** -**NUmerical Linear Algebra PACKage** + --- -NULAPACK is a lightweight, high-performance numerical linear algebra library. Core subroutines are implemented in Fortran for efficiency, with convenient C++ and Python interfaces. Developed under the [nulapack](https://github.com/nulapack) organisation, maintained by eggzec contributors. + Pure-Python sparse grid implementation with hierarchical index generation + and fast hat-basis evaluation. -| | | -|---|---| -| **Repository** | [github.com/nulapack/nulapack](https://github.com/nulapack/nulapack) | -| **Documentation** | [nulapack.github.io/NULAPACK](https://nulapack.github.io/NULAPACK/) | -| **PyPI** | `pip install nulapack` | -| **License** | GPL-3.0 | + [:fontawesome-solid-book: Documentation](https://eggzec.github.io/sparse_grid/) +   [:fontawesome-brands-github: GitHub](https://github.com/eggzec/sparse_grid) ---- +- :fontawesome-brands-github: **cordic** -## Engineering & Design + --- -### deltaFlow + CORDIC-based trigonometric, hyperbolic, exponential, logarithmic, and + root-function evaluation library for Python. -**Power System Analysis Tool** + [:fontawesome-solid-book: Documentation](https://eggzec.github.io/cordic/) +   [:fontawesome-brands-github: GitHub](https://github.com/eggzec/cordic) -`deltaFlow` is a power system analysis tool for steady-state and dynamic simulation of electrical networks. It is designed for engineers and researchers working on grid analysis, load flow studies, and power system planning. +- deltaFlow -| | | -|---|---| -| **Repository** | [github.com/eggzec/deltaFlow](https://github.com/eggzec/deltaFlow) | -| **Documentation** | [eggzec.github.io/deltaFlow](https://eggzec.github.io/deltaFlow/) | -| **License** | GPL-3.0 | + --- ---- + Command-line power-flow analysis tool for electrical systems using + Gauss-Seidel and Newton-Raphson solvers. -### pydoe + [:fontawesome-solid-book: Documentation](https://eggzec.github.io/deltaFlow/) +   [:fontawesome-brands-github: GitHub](https://github.com/eggzec/deltaFlow) -**Design of Experiments for Python** +- JavaDOE -`pydoe` enables scientists, engineers, and statisticians to efficiently construct experimental designs. It provides extensive support for factorial, response surface, and space-filling designs. Developed under the [pydoe](https://github.com/pydoe) organisation, maintained by eggzec contributors. + --- -Supported design families: + Java Design of Experiments library including Box-Behnken, central + composite, and factorial designs. -- Full-Factorial and 2-level Full-Factorial -- Fractional Factorial (with aliasing, resolution, and optimal selection) -- Plackett–Burman -- Generalized Subset Designs -- Box–Behnken, Central Composite -- Latin Hypercube Sampling + [:fontawesome-brands-github: GitHub](https://github.com/Java-DOE/JavaDOE) -| | | -|---|---| -| **Repository** | [github.com/pydoe/pydoe](https://github.com/pydoe/pydoe) | -| **Documentation** | [pydoe.github.io/pydoe](https://pydoe.github.io/pydoe/) | -| **PyPI** | `pip install pydoe` | -| **Conda** | `conda install -c conda-forge pydoe` | -| **License** | BSD-3-Clause | +- :fontawesome-brands-github: **qweb** ---- + --- -### JavaDOE + Web interface for Sun Grid Engine with job submission, monitoring, and + cluster management endpoints. -**Design of Experiments Library for Java** + [:fontawesome-brands-github: GitHub](https://github.com/eggzec/qweb) -`JavaDOE` is a comprehensive Java library for Design of Experiments (DOE) algorithms, including Box–Behnken, Central Composite, Factorial, and other DOE methods. Developed under the [Java-DOE](https://github.com/Java-DOE) organisation, maintained by eggzec contributors. +
-| | | -|---|---| -| **Repository** | [github.com/Java-DOE/JavaDOE](https://github.com/Java-DOE/JavaDOE) | -| **License** | Apache-2.0 | +## Work In Progress (WIP) ---- +
-## In Progress +- :fontawesome-brands-github: **pyact** -### permit + --- -**License as a Service (LaaS) MVP** + Python wrapper around `nektos/act` for local GitHub Actions workflows. -`permit` is a minimal viable product exploring license-as-a-service infrastructure — programmatic license issuance, verification, and management for software projects. + [:fontawesome-brands-github: GitHub](https://github.com/laraibg786/pyact) -[:fontawesome-brands-github: github.com/eggzec/permit](https://github.com/eggzec/permit) +- :fontawesome-brands-github: **pydanticInput** ---- + --- -### qqq + Input-validation utility project built around Pydantic, currently under + active development. -**Web Interface for Sun Grid Engine** + [:fontawesome-brands-github: GitHub](https://github.com/laraibg786/pydanticInput) -`qqq` is a web interface for Sun Grid Engine (SGE) that visualises cluster jobs and allows basic job management. Useful for HPC users who prefer a browser-based view over the `qstat` command line. +- :fontawesome-brands-github: **codeCurfew** -[:fontawesome-brands-github: github.com/eggzec/qqq](https://github.com/eggzec/qqq) + --- ---- + Go-based tooling project currently in progress. -### pyact + [:fontawesome-brands-github: GitHub](https://github.com/laraibg786/codeCurfew) -Early-stage Python package currently in active development. +- :fontawesome-brands-github: **permit** -[:fontawesome-brands-github: github.com/eggzec/pyact](https://github.com/eggzec/pyact) - ---- - -### pydanticInput - -Early-stage Python package currently in active development. - -[:fontawesome-brands-github: github.com/eggzec/pydanticInput](https://github.com/eggzec/pydanticInput) - ---- - -### scikit-ode - -**Differential Equation Solver for Python** - -Early-stage Python package currently in active development. - -[:fontawesome-brands-github: github.com/eggzec/scikit-ode](https://github.com/eggzec/scikit-ode) - ---- + --- -### codeCurfew + License as a Service MVP exploring programmatic license issuance and + verification flows. -Early-stage project currently in active development. + [:fontawesome-brands-github: GitHub](https://github.com/eggzec/permit) -[:fontawesome-brands-github: github.com/eggzec/codeCurfew](https://github.com/eggzec/codeCurfew) +
diff --git a/zensical.toml b/zensical.toml index 84b8d09..e097d87 100644 --- a/zensical.toml +++ b/zensical.toml @@ -12,7 +12,17 @@ Copyright © 2026 eggzec nav = [ { "Home" = "index.md" }, { "Projects" = "projects/index.md" }, - { "Community" = "community/index.md" }, + { "Community" = [ + { "Overview" = "community/index.md" }, + { "M. Saud Zahir" = "community/saud.md" }, + { "M. Laraib Ali" = "community/laraib.md" }, + { "Noor Mustafa" = "community/noor.md" }, + ] + }, + { "How We Build" = "how-we-build.md" }, + { "Contributing" = "contributing.md" }, + { "Contact" = "contact.md" }, + { "Blogs" = "blogs/index.md" }, ] extra_javascript = [ @@ -20,6 +30,10 @@ extra_javascript = [ "https://unpkg.com/mathjax@3/es5/tex-mml-chtml.js", ] +extra_css = [ + "assets/stylesheets/extra.css", +] + # ---------------------------------------------------------------------------- # Theme # ---------------------------------------------------------------------------- @@ -27,6 +41,7 @@ extra_javascript = [ language = "en" logo = "assets/images/logo.png" +favicon = "assets/images/logo.png" features = [ "announce.dismiss", @@ -40,7 +55,6 @@ features = [ "navigation.indexes", "navigation.instant", "navigation.instant.prefetch", - "navigation.path", "navigation.sections", "navigation.tabs", "navigation.top", @@ -54,14 +68,7 @@ features = [ # Color palette # ---------------------------------------------------------------------------- [[project.theme.palette]] -scheme = "default" -toggle.icon = "lucide/sun" -toggle.name = "Switch to dark mode" - -[[project.theme.palette]] -scheme = "slate" -toggle.icon = "lucide/moon" -toggle.name = "Switch to light mode" +scheme = "default" # ---------------------------------------------------------------------------- # Social links