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

A lot of changes for upstream #60

Open
rgreinho opened this issue Dec 16, 2019 · 2 comments
Open

A lot of changes for upstream #60

rgreinho opened this issue Dec 16, 2019 · 2 comments
Assignees

Comments

@rgreinho
Copy link

As I am starting to use TerraformPy, I forked the project to work on it and changed a few things to keep making it better and better. I am now starting to have a decent list of modifications, therefore, before continuing, I would like to see with you which changes I could submit back to you.

Ideally, I would report everything upstream, but I understand if you do not want to accept all the changes.

Here is what I have done so far:

  • Format the code with black.
  • Package the application with PBR:
    • Make packaging cleaner.
    • Get rid of VERSION file and use git tag instead.
    • Separate development and production requirements.
  • Use invoke and nox to setup administration and CI tasks.
    • Add linters (flake8, pydocstyle, pylint).
    • Add extra pytest plugins.
  • Remove Python 2 support. The new minimum required version is now 3.7.
  • Format the Changelog according to the Keep A Changelog specification.
  • Use a .github folder to store .github configuration files
    • issues and PR templates
    • label definitions
    • stale bot configuration
    • contributing guidelines
  • Generate the documentation using Sphinx and the aiohttp theme

Let me know if there are/which patches you would be willing to incorporate.

As an aside, it would be nice if you had a list of things you would like to receive contributions for (there are no issues) or a project roadmap to see where the project is going in the future.

@borgstrom
Copy link
Contributor

Hi @rgreinho 👋,

  • black is something that's been on our radar, we already use it internally and in our other open source projects but we ended up open sourcing this library before the internal change.

  • I'll do some reading on PBR.

  • Why did you choose nox over tox? We already use tox in our other open source projects so I'd prefer to stick to tox to keep things consistent.

  • We cannot remove Py2 support yet as we still use it internally at NerdWallet. We will be able to deprecate at some point in early 2020.

  • "Keep a changelog" seems nice, but my first reaction is that if we do end up using PBR I would rather just use its automatic changelog generation. I see it's currently disabled in your branch, does it not conform to "keep a changelog"?

  • Once any changes to the build/ci setup have been finalized we can explore the .github folder. I definitely am in favor of one, but am not entirely convinced the contents in your fork make sense for this project.

@borgstrom borgstrom self-assigned this Dec 16, 2019
@rgreinho
Copy link
Author

All makes sense! 👍

  • tox is great, but I prefer to write everything in python instead of using an ini configuration file. That's why I switched to nox.
  • Using auto-generated changelog is usually pretty bad. Your changelog end up being cluttered by things like "Forgot a file" or "cleaning up", "linter", etc. which are not useful nor meaningful messages. Besides it is just one big blurp of commit tittles. The goal with Keep a Changelog is to provide only relevant information, organized it in 6 purposeful categories (Added, Changed, Deprecated, Removed, Fixed, Security), and have the ability to link it to the issues/PRs and releases.

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

No branches or pull requests

2 participants