diff --git a/.github/workflows/build_and_release.yml b/.github/workflows/build_and_release.yml index d491400ea..bc3e8b284 100644 --- a/.github/workflows/build_and_release.yml +++ b/.github/workflows/build_and_release.yml @@ -23,7 +23,6 @@ jobs: name: pypi permissions: id-token: write # IMPORTANT: mandatory for trusted publishing - contents: write steps: - uses: actions/checkout@v4 - name: Set up Python 3.9 @@ -31,7 +30,7 @@ jobs: with: python-version: "3.9" - name: Install dependencies - run: python3 -m pip install --upgrade setuptools wheel twine semver packaging + run: python3 -m pip install setuptools wheel twine semver packaging - name: Get correct version for TestPyPI release id: check_version run: | @@ -42,11 +41,11 @@ jobs: echo "Version to be used for TestPyPI release: $NEW_VERSION" echo "::set-output name=version::$NEW_VERSION" - name: Update version in setup.py - run: sed -i '/#replace_package_version_marker/{n;s/__version__="[^"]*"/__version__="${{ steps.check_version.outputs.version }}"/;}' ./dspy/__metadata__.py + run: sed -i '/#replace_package_version_marker/{n;s/version="[^"]*"/version="${{ steps.check_version.outputs.version }}"/;}' setup.py - name: Update version in pyproject.toml run: sed -i '/#replace_package_version_marker/{n;s/version="[^"]*"/version="${{ steps.check_version.outputs.version }}"/;}' pyproject.toml - name: Update package name in setup.py - run: sed -i '/#replace_package_name_marker/{n;s/__name__="[^"]*"/__name__="dspy-ai-test"/;}' ./dspy/__metadata__.py + run: sed -i '/#replace_package_name_marker/{n;s/name="[^"]*"/name="dspy-ai-test"/;}' setup.py - name: Update package name in pyproject.toml run: sed -i '/#replace_package_name_marker/{n;s/name="[^"]*"/name="dspy-ai-test"/;}' pyproject.toml - name: Build a binary wheel @@ -63,7 +62,6 @@ jobs: name: pypi permissions: id-token: write # IMPORTANT: mandatory for trusted publishing - contents: write steps: - uses: actions/checkout@v4 - name: Set up Python 3.9 @@ -71,15 +69,15 @@ jobs: with: python-version: "3.9" - name: Install dependencies - run: python3 -m pip install --upgrade setuptools wheel twine + run: python3 -m pip install setuptools wheel twine - name: Update version in setup.py (dspy) - run: sed -i '/#replace_package_version_marker/{n;s/__version__="[^"]*"/__version__="${{ needs.extract-tag.outputs.version }}"/;}' ./dspy/__metadata__.py + run: sed -i '/#replace_package_version_marker/{n;s/version="[^"]*"/version="${{ needs.extract-tag.outputs.version }}"/;}' setup.py - name: Update version in pyproject.toml run: sed -i '/#replace_package_version_marker/{n;s/version="[^"]*"/version="${{ needs.extract-tag.outputs.version }}"/;}' pyproject.toml # Publish to dspy - name: Update package name in setup.py run: | - sed -i '/#replace_package_name_marker/{n;s/__name__="[^"]*"/__name__="dspy"/;}' ./dspy/__metadata__.py + sed -i '/#replace_package_name_marker/{n;s/name="[^"]*"/name="dspy"/;}' setup.py - name: Update package name in pyproject.toml run: sed -i '/#replace_package_name_marker/{n;s/name="[^"]*"/name="dspy"/;}' pyproject.toml - name: Build a binary wheel @@ -88,7 +86,7 @@ jobs: uses: pypa/gh-action-pypi-publish@release/v1 # This requires a trusted publisher to be setup in pypi with: attestations: false - # Publish to dspy-ai + # Publish to dspy-ai - name: Update version in setup.py (dspy-ai) run: sed -i '/#replace_package_version_marker/{n;s/version="[^"]*"/version="${{ needs.extract-tag.outputs.version }}"/;}' ./dspy/.internal_dspyai/setup.py - name: Update package name in setup.py @@ -101,23 +99,4 @@ jobs: - name: Publish distribution 📦 to PyPI (dspy-ai) uses: pypa/gh-action-pypi-publish@release/v1 # This requires a trusted publisher to be setup in pypi with: - attestations: false - - uses: stefanzweifel/git-auto-commit-action@v5 # auto commit changes to main - with: - commit_message: Update versions - create_branch: true - branch: release-${{ needs.extract-tag.outputs.version }} - - name: Checkout main branch - run: | - git fetch origin - git checkout main - - name: Configure git user - run: | - git config --global user.email "actions@github.com" - git config --global user.name "Github Actions" - - name: Merge release branch into main - run: | - git merge --no-ff release-${{ needs.extract-tag.outputs.version }} - - name: Push changes to main - run: | - git push origin main \ No newline at end of file + attestations: false \ No newline at end of file diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 6d2eaaa41..000000000 --- a/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -.github/ \ No newline at end of file diff --git a/dspy/__init__.py b/dspy/__init__.py index 49fb5f944..fea48caca 100644 --- a/dspy/__init__.py +++ b/dspy/__init__.py @@ -24,14 +24,6 @@ configure = settings.configure context = settings.context -from .__metadata__ import ( - __name__, - __version__, - __description__, - __url__, - __author__, - __author_email__ -) import dspy.teleprompt diff --git a/dspy/__metadata__.py b/dspy/__metadata__.py deleted file mode 100644 index 93793d44d..000000000 --- a/dspy/__metadata__.py +++ /dev/null @@ -1,8 +0,0 @@ -#replace_package_name_marker -__name__="dspy" -#replace_package_version_marker -__version__="2.5.43" -__description__="DSPy" -__url__="https://github.com/stanfordnlp/dspy" -__author__="Omar Khattab" -__author_email__="okhattab@stanford.edu" \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 28fbcb7c6..40359586b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,12 +3,10 @@ requires = ["setuptools>=40.8.0", "wheel"] build-backend = "setuptools.build_meta" [project] -# Do not add spaces around the '=' sign for any of the fields -# preceeded by a marker comment as it affects the publish workflow. #replace_package_name_marker -name="dspy" +name = "dspy" #replace_package_version_marker -version="2.5.43" +version = "2.5.43" description = "DSPy" readme = "README.md" authors = [{ name = "Omar Khattab", email = "okhattab@stanford.edu" }] diff --git a/setup.py b/setup.py index c2a993194..dace8c814 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,4 @@ from setuptools import find_packages, setup -import os # Read the content of the README file with open("README.md", encoding="utf-8") as f: @@ -9,25 +8,20 @@ with open("requirements.txt", encoding="utf-8") as f: requirements = f.read().splitlines() -metadata = {} -here = os.path.abspath(os.path.dirname(__file__)) -with open(os.path.join(here, "dspy", "__metadata__.py"), "r", encoding="utf-8") as f: - exec(f.read(), metadata) -f.close() - - setup( - name=metadata["__name__"], - version=metadata["__version__"], - description=metadata["__description__"], - url=metadata["__url__"], - author=metadata["__author__"], - author_email=metadata["__author_email__"], + #replace_package_name_marker + name="dspy", + #replace_package_version_marker + version="2.5.43", + description="DSPy", long_description=long_description, long_description_content_type="text/markdown", + url="https://github.com/stanfordnlp/dspy", + author="Omar Khattab", + author_email="okhattab@stanford.edu", license="MIT License", packages=find_packages(include=["dspy.*", "dspy"]), - python_requires=">=3.9", + python_requires=">=3.9", install_requires=requirements, extras_require={