Skip to content

publishing to PyPI #50

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

psuszyns
Copy link

No description provided.

@psuszyns psuszyns requested a review from a team as a code owner November 13, 2024 10:48
@psuszyns psuszyns force-pushed the publish_to_pypi branch 2 times, most recently from f2445d5 to 4579d8c Compare November 13, 2024 11:00
README.rst Outdated
>>> from pysequila import SequilaSession
>>> curr_dir = os.getcwd()
>>> ss = SequilaSession \
.builder \
.config("spark.jars.packages", "org.biodatageeks:sequila_2.12:1.1.0") \
Copy link
Contributor

Choose a reason for hiding this comment

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

Outdated version

Copy link
Author

Choose a reason for hiding this comment

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

There are some errors when I try to use a newer version, this one is the newest that works for me as of now.

Copy link
Contributor

Choose a reason for hiding this comment

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

Then pls create an issue - so that we keep track of it.

requires = ["setuptools", "typeguard==2.9.1", "pyspark==3.2.2", "findspark", "pandas"]
requires = [
"typeguard==2.9.1",
"pyspark==3.2.2",
Copy link
Contributor

Choose a reason for hiding this comment

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

Version is not in sync with SeQuiLa (latest release relies on Spark 3.4.x)- just wondering if we could add some constraints like >=3.4 <3.5 etc instead of hardcoding it here - semanting versioning is respected in the Spark community so any breaking changes shouldn't be introduced if only minor version changes.

Copy link
Author

Choose a reason for hiding this comment

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

We can add such constraints in Poetry - I wanted to switch to Poetry in step 2, after verifying that everything works, with publishing, with setup.py build system.

I tried to update to Spark 3.4.4 or 3.4.3 and then use https://mvnrepository.com/artifact/org.biodatageeks/sequila_2.12/1.3.6 but this doesn't work. Before tracking down what is the reason for those failures I wanted to first publish a working version with pyspark==3.2.2 and sequila _2.12:1.1.0

Copy link
Contributor

Choose a reason for hiding this comment

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

Again the same as previously - pls report that as an issue that upgrade to 3.4.x is not possible now

steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
Copy link
Contributor

Choose a reason for hiding this comment

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

  1. I can' see any automatic tagging and semantic versioning steps?
  2. It would be also nice to have a PR-workflow that run some basic checks like black, isort, and unit tests
  3. pre-commit hook setup
  4. It's not setup to run on our self-hosted runners
  5. Would consider to use poetry instead (we try to use it in other projects as well) for the sake of lock file, cleaner way of managing dependencies and unification of development.

Copy link
Author

@psuszyns psuszyns Nov 15, 2024

Choose a reason for hiding this comment

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

I like to divide work to small deliverable parts. I wanted to first setup a basic publishing scheme, make sure the setup on the PyPI side is correct, and then add modifications one by one.

Regarding your individual points:

  1. This configuration will trigger a publish to PyPI when someone creates a new 'Release': https://github.com/biodatageeks/pysequila/releases/new - which also creates a tag in the repo. Another options would be to setup this in a way so that:
  • it automatically publish when someone pushes a new tag with name starting with "v" on the master branch
  • it automatically creates a new tag with 'next' version and automatically publish
    From those options I think the last one is the worst, since we want control over which version number are we bumping. I think the first one (manually creating a release in github) is the best one. Releasing a new version should be a concious decision, proceeded by manual testing.
  1. Sure, in a next pull request.
  2. Yes, it would be nice to have some checks - but what exactly would we want? Also, that's definitely a separate task.
  3. fixed this
  4. I have a ready Poetry setup locally and wanted to push it after this PR

Copy link
Contributor

Choose a reason for hiding this comment

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

Ok so please create follow-up issues that we won't forget about these points.

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.

2 participants