Skip to content

Commit fe98f27

Browse files
Merge branch 'main' into chore/setup-ruff
2 parents c881dac + c43278e commit fe98f27

File tree

63 files changed

+773
-2239
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+773
-2239
lines changed

doc/source/archive.rst

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
.. _archive:
2+
3+
Legacy DotNet API (Archived)
4+
=============================
5+
6+
.. danger::
7+
8+
**The ``pyedb.dotnet`` module is deprecated and archived.**
9+
Maintenance is planned to be dropped starting Ansys 2026R1 release. All users are **strongly encouraged** to
10+
migrate to the modern :ref:`gRPC-based client <comms_protocols>`, which is the future of PyEDB.
11+
12+
What Was the DotNet API?
13+
------------------------
14+
The ``pyedb.dotnet`` module was the original implementation of PyEDB. It was a Python wrapper around the Ansys
15+
EDB DotNet code.
16+
17+
This approach was limited to DotNet framework causing incompatibility issues on non-Windows platforms.
18+
19+
Why It Was Replaced
20+
-------------------
21+
The new architecture, based on a standalone gRPC service (``ansys-edb-core``), provides significant advantages:
22+
23+
* **Cross-Platform:** The client can run on **Linux, and Windows**.
24+
* **Headless Operation:** Ideal for servers, Docker, and CI/CD pipelines.
25+
* **Better Performance:** The gRPC protocol is more efficient.
26+
* **Modern and Maintainable:** The codebase is cleaner and easier to extend.
27+
28+
Accessing the Archived Code
29+
---------------------------
30+
The code for the deprecated ``dotnet`` module has been moved to a separate, archived branch in the GitHub repository
31+
to avoid confusion and keep the main branch clean.
32+
33+
**You can access the final version of the `dotnet` code here:**
34+
35+
.. toctree::
36+
:maxdepth: 2
37+
38+
dotnet_api/index
39+
40+
.. warning::
41+
42+
This code is provided **as-is** for reference and migration purposes only. Do not use it for
43+
new projects. If you need to maintain an old script that uses the ``dotnet`` API, your goal should be to migrate it to
44+
the gRPC client.
45+
46+
Migration Guide
47+
---------------
48+
If you have existing scripts using `pyedb.dotnet`, see the :doc:`migration_guide` for help porting your code to the
49+
modern gRPC API.

doc/source/build_breaking_change.rst

Lines changed: 0 additions & 64 deletions
This file was deleted.

doc/source/changelog.rst

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
Changelog
2+
=========
3+
4+
All notable changes to PyEDB are documented in this file.
5+
6+
The format is based on `Keep a Changelog <https://keepachangelog.com/en/1.0.0/>`_,
7+
and this project adheres to `Semantic Versioning <https://semver.org/spec/v2.0.0.html>`_.
8+
9+
[Unreleased]
10+
------------
11+
### Added
12+
-
13+
14+
### Changed
15+
-
16+
17+
### Deprecated
18+
-
19+
20+
### Fixed
21+
-
22+
23+
### Removed
24+
-
25+
26+
[0.9.0] - 2024-XX-YY
27+
--------------------
28+
### Added
29+
- Initial release of the gRPC-based PyEDB client.
30+
- Comprehensive documentation including user guides, migration guide, and examples.
31+
- Core functionality for EDB creation, modification, and simulation setup.
32+
33+
### Removed
34+
- Legacy `pyedb.dotnet` module (moved to archived branch).

doc/source/contributing.rst

Lines changed: 0 additions & 104 deletions
This file was deleted.

doc/source/contribution_guide.rst

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
Contribution Guide
2+
==================
3+
4+
All contributions to PyEDB are welcome. This guide helps you get started.
5+
6+
Development Environment Setup
7+
-----------------------------
8+
1. Fork the `PyEDB repository <https://github.com/ansys/pyedb>`_ on GitHub.
9+
2. Clone your fork locally:
10+
11+
.. code-block:: bash
12+
13+
git clone https://github.com/your-username/pyedb.git
14+
cd pyedb
15+
16+
3. Install the package in development mode with all dependencies:
17+
18+
.. code-block:: bash
19+
20+
pip install -e ".[dev]"
21+
22+
4. Install pre-commit hooks to ensure code quality:
23+
24+
.. code-block:: bash
25+
26+
pre-commit install
27+
28+
Running Tests
29+
-------------
30+
To ensure your changes don't break existing functionality, run the test suite:
31+
32+
.. code-block:: bash
33+
34+
pytest tests/ -v
35+
36+
Building Documentation
37+
----------------------
38+
To build and preview the documentation locally:
39+
40+
.. code-block:: bash
41+
42+
cd doc
43+
make html
44+
# Open _build/html/index.html in your browser
45+
46+
Submission Process
47+
------------------
48+
1. Create a branch for your feature or bug fix: `git checkout -b feature/your-feature-name`
49+
2. Make your changes and add tests.
50+
3. Ensure all tests pass and pre-commit checks are satisfied.
51+
4. Commit your changes: `git commit -m "Add feature: your feature description"`
52+
5. Push to your fork: `git push origin feature/your-feature-name`
53+
6. Open a Pull Request against the main PyEDB repository.
54+
55+
Code Style
56+
----------
57+
* Follow `PEP 8 <https://pep8.org/>`_ guidelines.
58+
* Use Google-style docstrings for all public functions and classes.
59+
* Include type hints for all function parameters and return values.
60+
61+
Documentation Contributions
62+
---------------------------
63+
When adding new features, please also update the relevant documentation:
64+
65+
* Add examples to the appropriate section in `user_guide/common_tasks.rst`.
66+
* Create a new Jupyter notebook in `doc/notebooks/` if the feature warrants a comprehensive example.
67+
* Ensure all new public API elements have proper docstrings.

doc/source/examples/index.rst

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
Examples
2+
========
3+
4+
High-Frequency Layout Examples (PyAEDT + PyEDB)
5+
-----------------------------------------------
6+
7+
These examples show how PyEDB and PyAEDT work together to create solve and post-process high-frequency PCB/IC packages and RF boards.
8+
They are maintained in the main PyAEDT example gallery and include:
9+
10+
* Import and modification of EDB layout
11+
* HFSS 3-D and HFSS 3-D Layout set-ups
12+
* Frequency sweeps, field plots, S-parameter export
13+
* Parametric studies and optimization loops
14+
15+
.. raw:: html
16+
17+
<div style="margin-bottom:1.5em;">
18+
<a class="reference external"
19+
href="https://examples.aedt.docs.pyansys.com/version/dev/examples/high_frequency/layout/index.html">
20+
<button style="background:#0076CE;color:white;border:0;border-radius:4px;padding:.6em 1em;margin-right:.5em">
21+
📖 Browse Examples
22+
</button>
23+
</a>
24+
25+
<a class="reference external"
26+
href="https://github.com/ansys/pyaedt-examples/tree/main/examples/high_frequency/layout">
27+
<button style="background:#24292f;color:white;border:0;border-radius:4px;padding:.6em 1em">
28+
📁 View on GitHub
29+
</button>
30+
</a>
31+
</div>
32+
33+
Feel free to open an issue or pull request if you would like to add new PyEDB-focused examples to this collection.
34+
35+
This examples are focused on using PyEDB to create, modify, and analyze PCB/IC packages and RF boards. The basic
36+
section covers fundamental tasks, while the advanced section demonstrates more complex workflows for Si-PI.
37+
38+
PyEDB basic and advanced examples
39+
=================================
40+
41+
.. toctree::
42+
:maxdepth: 1
43+
44+
basic/index
45+
advanced/index

0 commit comments

Comments
 (0)