{"id":23254,"library":"ansys-edb-core","title":"Ansys EDB Core","description":"A Python wrapper for the Ansys EDB (Electronics Database) service, providing access to EDB primitives, layout, and simulation data. Current stable version is 0.3.1, with pre-release versions up to 0.4.0.dev1. The library is under active development with frequent releases.","status":"active","version":"0.3.1","language":"python","source_language":"en","source_url":"https://github.com/ansys/pyedb-core","tags":["ansys","edb","electronics","cad","simulation"],"install":[{"cmd":"pip install ansys-edb-core","lang":"bash","label":"Latest stable release"}],"dependencies":[{"reason":"Required for gRPC service definitions","package":"ansys-api-edb","optional":false},{"reason":"gRPC communication layer","package":"grpcio","optional":false},{"reason":"Protocol buffer message handling","package":"protobuf","optional":false}],"imports":[{"note":"Old top-level import removed in v0.3.0","wrong":"from ansys.edb import EdbHandler","symbol":"EdbHandler","correct":"from ansys.edb.core import EdbHandler"},{"note":"Cell moved to layout submodule in v0.3.0","wrong":"from ansys.edb.core import Cell","symbol":"Cell","correct":"from ansys.edb.core.layout import Cell"}],"quickstart":{"code":"import os\nfrom ansys.edb.core import EdbHandler\n\n# Connect to EDB service (requires EDB service running)\nedb = EdbHandler()\nedb.connect()\n\n# Open an existing EDB database\nedb_db_path = os.environ.get('EDB_DB_PATH', '')\nedb.open(edb_db_path)\n\n# Print cell names\nfor cell in edb.cells:\n    print(cell.name)\n\nedb.close()","lang":"python","description":"Connect to EDB service and open a database."},"warnings":[{"fix":"Use imports from the correct submodules (e.g., `from ansys.edb.core.layout import Cell`)","message":"In v0.3.0, the top-level module structure was reorganized: many classes moved from `ansys.edb.core` to submodules like `layout`, `cell`, `net`. Direct imports from `ansys.edb.core` may break.","severity":"breaking","affected_versions":">=0.3.0"},{"fix":"Change import to `from ansys.edb.core import EdbHandler`","message":"The `EdbHandler` class was moved to `ansys.edb.core` in v0.3.0; previously it was at `ansys.edb`. Old import will raise ImportError.","severity":"breaking","affected_versions":">=0.3.0"},{"fix":"Ensure the EDB service is started before using the library. See https://github.com/ansys/pyedb-core for instructions.","message":"The library requires an external EDB service (gRPC server) running on a specific port. Connecting without the service results in `grpc.RpcError`.","severity":"gotcha","affected_versions":"all"},{"fix":"Use `edb.cells` or `edb.get_cell_by_name()` is deprecated; prefer `edb.cells`.","message":"Methods like `get_cell_by_name()` are replaced by property-based access (e.g., `edb.cells`).","severity":"deprecated","affected_versions":">=0.3.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use: from ansys.edb.core import EdbHandler","cause":"Top-level import path changed in v0.3.0.","error":"ImportError: cannot import name 'EdbHandler' from 'ansys.edb'"},{"fix":"Start the EDB service (e.g., via Ansys Electronics Desktop) and ensure the host/port matches.","cause":"EDB gRPC service is not running or unreachable.","error":"grpc.RpcError: [StatusCode.UNAVAILABLE] failed to connect to all addresses"},{"fix":"Use property access: cell = edb.cells[0] or iterate over edb.cells.","cause":"Method renamed or removed in newer version.","error":"AttributeError: 'EdbHandler' object has no attribute 'get_cell_by_name'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}