.. _pyF4PGA: Overview ######## Python F4PGA is a package containing multiple modules to facilitate the usage of all the tools integrated in the F4PGA ecosystem, and beyond. The scope of Python F4PGA is threefold: * Provide a fine-grained *pythonic* interface to the tools and utilities available as either command-line interfaces (CLIs) or application proggraming interfaces (APIs) (either web or through shared libraries). * Provide a CLI entrypoint covering the whole flows for end-users to produce bitstreams from HDL and/or software sources. * Provide a CLI entrypoint for developers contributing to bitstream documentation and testing (continuous integration). .. ATTENTION:: This is work-in-progress to adapt and organize the existing shell/bash based plumbing from multiple F4PGA repositories. Therefore, it's still a *pre-alpha* and the codebase, commands and flows are subject to change. It is strongly suggested not to rely on Python F4PGA until this note is updated/removed. References ========== * :gh:`chipsalliance/fpga-tool-perf#390@issuecomment-1023487178 ` * :ghsharp:`2225` * :ghsharp:`2371` * :ghsharp:`2455` * `F4PGA GSoC 2022 project ideas: Generalization of wrapper scripts for installed F4PGA toolchain and making them OS agnostic `__ * :gh:`FuseSoc ` | :gh:`Edalize ` * `Electronic Design Automation Abstraction (EDA²) `__