diff --git a/.github/workflows/pr-python.yml b/.github/workflows/pr-python.yml index 1b2b78755..2ac32c406 100644 --- a/.github/workflows/pr-python.yml +++ b/.github/workflows/pr-python.yml @@ -43,8 +43,7 @@ jobs: - name: install black run: | - pip install -r requirements.txt - pip install black + pip install -e .[dev] - name: black run: black --check . @@ -60,7 +59,7 @@ jobs: - name: install mypy run: | - pip install -r requirements.txt + pip install -e .[dev] pip install mypy mypy-protobuf mypy --version - name: mypy @@ -76,8 +75,6 @@ jobs: with: python-version: '3.13' - - name: install dependencies - run: pip install -r requirements.txt - name: package run: python -m pip install . - name: unittest @@ -96,7 +93,7 @@ jobs: python-version: '3.13' - name: install dependencies - run: pip install -r requirements.txt + run: pip install -e . - name: unittest run: python -m unittest discover @@ -111,6 +108,6 @@ jobs: python-version: '3.10' - name: install dependencies - run: pip install -r requirements.txt + run: pip install -e . - name: unittest run: python -m unittest discover diff --git a/.github/workflows/pr-scala.yml b/.github/workflows/pr-scala.yml index 196aec031..bc520390c 100644 --- a/.github/workflows/pr-scala.yml +++ b/.github/workflows/pr-scala.yml @@ -39,7 +39,7 @@ jobs: - name: Setup sbt launcher uses: sbt/setup-sbt@v1 - name: install dependencies - run: pip install -r requirements.txt + run: pip install -e . - name: sbt test run: cd compiler && sbt -v +test diff --git a/README.md b/README.md index 1be9c2c9a..d4b765bd0 100644 --- a/README.md +++ b/README.md @@ -103,6 +103,8 @@ See the [setup documentation](setup.md), then work through building a blinky boa **Setup tl;dr**: install the Python package from pip: `pip install edg`, and optionally run the [IDE plugin with block diagram visualizer](setup.md#ide-setup). +Building from source: `pip install .` at the repository root. + ## Additional Notes diff --git a/pyproject.toml b/pyproject.toml index 67eaf4c5f..223b49d8e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,14 +19,17 @@ keywords = ["PCB", "hardware description language"] dependencies = [ "protobuf >= 3.20.0", "sexpdata==0.0.3", - "Deprecated", + "Deprecated==1.2.14", "typing_extensions >= 4.4.0", + "pydantic == 2.8.2", ] requires-python = ">=3.9" [project.optional-dependencies] dev = [ "black", + "types-Deprecated==1.2.9.20240311", + "types-protobuf" ] [tool.setuptools] diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 9f66faa16..000000000 --- a/requirements.txt +++ /dev/null @@ -1,7 +0,0 @@ -protobuf >= 3.20.0 -typing_extensions -sexpdata==0.0.3 -Deprecated==1.2.14 -types-Deprecated==1.2.9.20240311 -types-protobuf -pydantic == 2.8.2