Closed curtisma closed 5 months ago
I still need to add a LICENSE file to the root of each package. That will make sure it is included properly in the package and would be more explicit that all the packages fall under a bsd3 license.
I still need to add a LICENSE file to the root of each package. That will make sure it is included properly in the package and would be more explicit that all the packages fall under a bsd3 license.
Done
Just thought to write, thanks for this effort! Installation works for me from a poetry-managed environment with your commit with the new pyproject.toml.
I've just run this successfully based on this branch within pydantic v2 in Ubuntu py 3.10. Working on some examples so if I run into any issues will raise/fix as part of the pydantic v2 new release. Look forward to trying it out in the wild directly from pypi!
import hdl21 as h
import sky130_hdl21
@h.module
class SkyInv:
""" An inverter, demonstrating using PDK modules """
# Create some IO
i, o, VDD, VSS = h.Ports(4)
p = sky130_hdl21.Sky130MosParams(w=1,l=1)
# And create some transistors!
ps = sky130_hdl21.primitives.PMOS_1p8V_STD(p)(d=o, g=i, s=VDD, b=VDD)
ns = sky130_hdl21.primitives.NMOS_1p8V_STD(p)(d=o, g=i, s=VSS, b=VSS)
CI fails, although (I think) only on a code-coverage upload step. (There's a lotta tests.)
Which (again I think) is because the source branch is on a fork?
We should test that, and probably make an issue for it.
OK never mind that codecov/ CI comment.
Seems it was a transient thing that resolved itself.
Both the re-run CI here and those on #221 (same code) both pass.
Closes #218 and closes #49
Updates
I updated all the packages to specify their metadata in a pyproject.toml which replaced all setup.py files.
Updated the package build backend to flit instead of using build as the package build back-end.
Updated the sitepdks package name from "sitepdks" to "hdl21-sitepdks"
The Pytest configuration was merged into the pyproject.toml from the pytest.ini.
Questions & Concerns
We should add the rest of the contributors to the authors list. @ThomasPluck @kcaisley @uduse @growly @vighneshiyer @uduse @aviralpandey Do you guys mind if I add your name and e-mail to the authors list? If so please reply with the name and e-mail you would like included. We can also just include your name if you'd prefer not to include your e-mail. I added some of your names.
I dropped the twine dev dependency. Flit also has a "flit publish" feature that can do the same thing as twine.
I couldn't share the version amongst all the packages to tie them to the vlsir version number. Shouldn't these versions be updated independently? We shouldn't publish a new version of a package unless something has changed. We can just provide a major version range for the related packages. I went ahead and updated the version range to peg them to a major revision of the related projects, e.g. vlsir and hdl21. They're also in different states of maturity. I would think that some of the less mature packages (e.g. the asap7 pdk) should still be in a v0.x.x version number to reflect its immaturity. It would be good to follow the semantic versioning recommendation to keep a package at "v0.y.z" until the api is stable.
Should we upgrade from black to ruff in the dev depencies? It's faster and has more features.
Testing
Tested both the pdk and main pyproject.toml by doing an install and editable install of each: