diff --git a/.github/workflows/publish-package.yml b/.github/workflows/publish-package.yml new file mode 100644 index 00000000..d24f48ea --- /dev/null +++ b/.github/workflows/publish-package.yml @@ -0,0 +1,27 @@ +name: Publish python package + +on: + release: + types: [created] + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.8' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install setuptools wheel twine + - name: Build and publish + env: + TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} + TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + TWINE_REPOSITORY: pypi + run: | + python setup.py sdist bdist_wheel + twine upload dist/* diff --git a/.github/workflows/test-package.yml b/.github/workflows/test-package.yml index 35bafe0c..c02aa5ae 100644 --- a/.github/workflows/test-package.yml +++ b/.github/workflows/test-package.yml @@ -2,7 +2,7 @@ # executes the package tests. # # For more details: https://docs.github.com/en/actions/guides/building-and-testing-python -name: Python package using conda +name: Tests on: pull_request: @@ -38,4 +38,4 @@ jobs: flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test with pytest run: | - pytest \ No newline at end of file + pytest diff --git a/README.md b/README.md index fa1ea270..c68d1651 100644 --- a/README.md +++ b/README.md @@ -141,4 +141,4 @@ code format throughout the project. You can format without committing via
Ryan Soley


Diane Lee

- \ No newline at end of file + diff --git a/rubicon/__init__.py b/rubicon/__init__.py index 8ed88755..5a2920dd 100644 --- a/rubicon/__init__.py +++ b/rubicon/__init__.py @@ -9,7 +9,8 @@ Rubicon, ) -__version__ = "4.5.0" +__version__ = "0.1.0" + __all__ = [ "Artifact", "Dataframe", diff --git a/setup.py b/setup.py index c672c40d..89d4bea7 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,5 @@ from setuptools import find_packages, setup -from version import get_version - install_requires = [ "click>=7.1", "dask[dataframe]>=2.12.0", @@ -25,9 +23,9 @@ setup( name="rubicon", - version=get_version(), - author="The Rubicon Team", - author_email="rubicon-developers@capitalone.com", + version="0.1.0", + author="Joe Wolfe, Ryan Soley, Diane Lee, Mike McCarty, CapitalOne", + license='Apache License, Version 2.0', description="an ML library for model development and governance", packages=find_packages(), include_package_data=True, @@ -41,4 +39,27 @@ "rubicon_experiment = rubicon.intake_rubicon.experiment:ExperimentSource", ], }, + classifiers=[ + # How mature is this project? Common values are + # 3 - Alpha + # 4 - Beta + # 5 - Production/Stable + 'Development Status :: 4 - Beta', + + # Indicate who your project is intended for + 'Intended Audience :: Developers', + 'Intended Audience :: Science/Research', + + 'Topic :: Scientific/Engineering', + 'Topic :: Scientific/Engineering :: Information Analysis', + 'Topic :: Software Development :: Build Tools', + 'Topic :: Software Development :: Documentation', + + # Pick your license as you wish (should match "license" above) + 'License :: OSI Approved :: Apache Software License', + + # Specify the Python versions you support here. In particular, ensure + # that you indicate whether you support Python 3 or both. + 'Programming Language :: Python :: 3', + ], ) diff --git a/version.py b/version.py deleted file mode 100644 index 540141ab..00000000 --- a/version.py +++ /dev/null @@ -1,56 +0,0 @@ -""" -Starting point taken from https://gist.github.com/pwithnall/7bc5f320b3bdf418265a - -Gets the current version number. -If in a git repository, it is the current git tag. -To use this script, simply import it in your setup.py file -and use the results of get_version() as your package version: - from version import * - setup( - ... - version=get_version(), - ... - ) -""" - -__all__ = "get_version" - -import os -import subprocess -from os.path import dirname, isdir, join - -tag = os.environ.get("COMMIT_MESSAGE") - - -def get_version(): - # tag gets specified during the Jenkins pipeline - if tag: - return tag - - # if no tag, pull from the latest github tag - d = dirname(__file__) - - if isdir(join(d, "..", "..", ".git")): - # Get the version using "git describe". - cmd = "git describe --tags".split() - try: - version = subprocess.check_output(cmd).decode().strip() - except subprocess.CalledProcessError: - print("Unable to find .git directory") - # default so that jenkins doesn't break - version = "non-master-branch" - - # PEP 386 compatibility - if "-" in version: - version = ".post".join(version.split("-")[:2]) - - else: - print("Unable to find .git directory") - # default so that jenkins doesn't break - version = "non-master-branch" - - return version - - -if __name__ == "__main__": - print(get_version())