Skip to content

Conversation

@darinkishore
Copy link
Collaborator

Addresses issue: #154

Goals: Allow poetry integration. Setup documentation dependencies, allow dev dependencies to be added in future. PEP-compliant.

Also adds github action to ensure project can compile/build, dependencies are installed properly.

This commit adds a new GitHub Actions workflow file, `build_package.yml`, which is responsible for building the package. The workflow is triggered on pushes to the `main` branch and pull requests. It runs on the latest version of Ubuntu.

The workflow uses Poetry version 1.6.1. It sets up the Python environment using the specified Python version (3.9 in this case). It also caches the Poetry installation and the virtual environment to improve build times.

The workflow installs the project dependencies using Poetry and then builds the package. It also tests installing the built package and tests importing the package.

The commit also includes the addition of a `pyproject.toml` file. This file specifies the build system requirements, project metadata, Python version compatibility, and project dependencies. The dependencies include various packages such as `backoff`, `joblib`, `openai`, `pandas`, `regex`, `ujson`, `tqdm`, `datasets`, `requests`, and `optuna`. Optional dependencies are also specified for packages like `pinecone-client`, `qdrant-client`, `fastembed`, `chromadb`, and `marqo`. Additionally, there are dependencies for building the documentation using Sphinx.

The `pyproject.toml` file also includes project metadata such as the project name, version, description, authors, license, and homepage.

The purpose of these changes is to automate the package build process and specify the project dependencies and metadata in a standardized way.
…env to simplify workflow and improve reliability

fix(build_package.yml): fix missing newline at end of file to adhere to coding conventions
@amicus-veritatis
Copy link

lgtm

pyproject.toml Outdated
homepage = "https://github.com/stanfordnlp/dsp"
documentation = "https://dspy-ai.readthedocs.io"
repository = "https://github.com/stanfordnlp/dsp"
keywords = ["dsp", "ai", "signal processing"]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this has a few hallucinated pieces (signal processing and dspy-ai.readthedocs.io don't exist here haha).

@okhat
Copy link
Collaborator

okhat commented Jan 4, 2024

Thanks a lot @darinkishore ! This is on the right track but some things are off.

Also did we check import dsp and import dspy still both work with this?

@okhat okhat merged commit f3dda13 into stanfordnlp:main Jan 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants