Skip to content

Consolidating separating individual modules into their packages#101

Merged
counsyl-opensource merged 17 commits into
counsyl:v4from
anujkumar93:split_packages_real
Dec 5, 2018
Merged

Consolidating separating individual modules into their packages#101
counsyl-opensource merged 17 commits into
counsyl:v4from
anujkumar93:split_packages_real

Conversation

@anujkumar93

@anujkumar93 anujkumar93 commented Dec 4, 2018

Copy link
Copy Markdown
Collaborator

@jtratner

This PR handles actually separating the repo into individual packages of stor, stor_s3, stor_swift, stor_dx.

Background

This is a continuation of (and maybe the end of) the story to split stor across 4 modules : stor, stor_dx, stor_swift, stor_s3. This is done to easy the dependencies that need to be installed to use a particular fact of stor, and to make it more modular. This PR is preceded by anujkumar93#10 for this story.

Changes

This PR handles the actual separation of modules into three different packages.

  • The first commit just moves the files around, each module into their own nested package.

  • The second commit is responsible for setting up the setup.py, setup.cfg, requirements.txt, etc for the individual packages, and changing makefile, tox.ini to get this separation into a working state. The key function find_cls_for_pth in init.py and its tests are implemented in this commit.

  • The rest of the commits address the review comments and bug/lint fixes, making travis-test work, refining sdist packaging functions in Makefile, etc.

  • Release notes and docs

  • Addressed Preparing the modules to be split #100 (comment)

Tested via:

The testing suite was run after adding tests for find_cls_for_pth (and a few other tests) successfully. The commands to the tests were changed here, but the logic remains similar.

TODOS

  • Decide how to make stor_swift, stor_s3, stor_dx as extras to stor, despite all of them being individual packages. Also, fix versioning so that it's impossible to have stor_swift==3.0.0 and stor_s3==3.0.1 on the same system

@jtratner

jtratner commented Dec 4, 2018

Copy link
Copy Markdown
Contributor

as discussed:

Decide how to make stor_swift, stor_s3, stor_dx as extras to stor, despite all of them being individual packages. Also, fix versioning so that it's impossible to have stor_swift==3.0.0 and stor_s3==3.0.1 on the same system

Let's leave this for a follow-up PR.

For now, let's set this up so that stor requires stor_swift, stor_s3, and stor_dx (i.e., so pip install stor still works) and then can figure out version pinning.

Comment thread AUTHORS Outdated
@jtratner

jtratner commented Dec 4, 2018

Copy link
Copy Markdown
Contributor

please add release notes and doc updates for how this changes things (i.e., about how each package is separated out, issues with versioning, the plugin infrastructure)

@anujkumar93

Copy link
Copy Markdown
Collaborator Author

Added the release notes and docs. Please have a look.

Comment thread stor/stor/obs.py Outdated
Comment thread stor/stor/obs.py Outdated
Comment thread stor_swift/stor_swift/__init__.py Outdated
@jtratner

jtratner commented Dec 4, 2018

Copy link
Copy Markdown
Contributor

after discussion with you - this is good to merge once changes made:

  1. remove path_converted in favor of self
  2. change name from find_cls_for_path to get_class_for_path (or class_for_path) for clarity

Then follow-up PR for additional doc changes

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