Skip to content
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

RFC: Create a "new coder" GH org, migrate everything to individual repos, create skeleton package #177

Open
econchick opened this issue May 8, 2015 · 4 comments
Labels

Comments

@econchick
Copy link
Owner

To anyone who has interest in this repo (@merwok, @willingc , anyone else!), I am soliciting for comments for the following ideas:

New GitHub Organization w/ individual repos

I'd like to create a GitHub organization for New Coder, with 1 repo for the website itself, and 5 repos for each of the tutorials, and new repos for future tutorials.

This will allow me to do a few things:

  • individual licenses per repo (website to be creative commons, code to be MIT)
  • tutorial repos will be easier to set up for the user with reqs.txt (just visually making more sense)
  • able to setup each repo with commit-to-deploy pipeline with a CI (probably Travis CI)
    • auto-deploy website with merge to master
    • auto-build pull requests specific to each tutorial
    • auto-build each tutorial's how-to into a PDF (or other format) for the ill-maintained workshop kits
  • ability to easily test (and - for that matter - add tests) for each tutorial (ties in with Travis deployment setup)
  • every tutorial would be a stand-alone Python package (see below)

It's also just logical in my mind to separate code from website.

Skeleton Python app

I'm also thinking about making a skeleton Python package where one can install via pip, and install an individual tutorial, a select few, or all. I imagine behavior to be like pip install newcoder[all] and pip install newcoder-dataviz (see setuptools "extras_require". I haven't given much thought to what pip install newcoder would do...

With this skeleton package, I'd add a command (similar to Django's start-project command) to create the initial setup for the user. It would at least spit out a new Python file in current working directory; not sure what else yet but I like the idea. Maybe some skeleton code, too.

The package could also have another command that could run the tests against the user's code (could be very simple or complex depending on how helpful this commands wants to be).

@willingc
Copy link
Collaborator

willingc commented May 9, 2015

Sounds like a great idea. Software Carpentry has a bunch of repos that are similar in spirit. I'm huge +1 on Travis or other tools that make life easier and more maintainable :)

@econchick
Copy link
Owner Author

Thanks @willingc!

I'll leave this open for a few more days but I feel like there may not be much opposed to it. @merwok I'd really like to hear your opinion :)

@merwok
Copy link
Contributor

merwok commented May 11, 2015

I think all your points can be achieved with a single repo, but I don’t see harm in splitting the tutorials and website into separate repos.

@sean-d
Copy link

sean-d commented Jul 22, 2015

I have essentially done exactly this for the sake of how I prefer to organize what I am working on/with.

A single repo really is enough for what you are offering but isolation is not a bad thing either :) With the ease of pip install -r, why not compartmentalize.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants