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

Linter + CI #7

Closed
6 tasks done
f4lco opened this issue Jun 26, 2019 · 4 comments
Closed
6 tasks done

Linter + CI #7

f4lco opened this issue Jun 26, 2019 · 4 comments

Comments

@f4lco
Copy link
Contributor

f4lco commented Jun 26, 2019

During development for #4, I felt like the following essentials might be missing from treon:

  • .gitignore - for __pycache__
  • Pipfile and Pipfile.lock - easier to get started, because there are already non-standard dependencies like docopt.
  • Document dependency set-up (see "Note about dependencies" in readme)
  • Pylint - code is in good shape, better keep it that way
  • basic sanity tests
  • Travis? - to exercise above effectively

How do you feel about this list, @amit1rrr ?

@amit1rrr
Copy link
Member

amit1rrr commented Jun 26, 2019

Definitely a good list. Just added standard .gitignore for Python with some additions for vscode etc.

About Pipfile - Isn't it better to just install packages from setup.py (with pip install -e .) for development?

Pylint - Sure. I hate some of their rules but it's better to have a common, enforceable standard. Plus we can always turn off annoying rules ;)

Travis - Yes. I think we should have some basic sanity tests in there (arguably before any of the above). Once there, travis would be super useful. For someone who might take a stab at this before me, Here's a reference for another package I setup with travis -https://github.com/amit1rrr/numcompress/blob/master/.travis.yml

@f4lco
Copy link
Contributor Author

f4lco commented Jun 26, 2019

About Pipfile - Isn't it better to just install packages from setup.py (with pip install -e .) for development?

Well, "better" depends. This article explains a bit. The main difference that with Pipfile and Pipfile.lock target repeatable installations, in which every dependency is pinned, whereas dependencies in setup.py are deliberately fuzzy ("abstract").
I was going to blindly advocate Pipenv, but now realized this project maybe does not need pinned dependencies at all, with such a minimal, stable set of dependencies. I want to derive the following tasks:

  • document pip install -e . in readme (I was simply unaware of that)
  • Maybe add a "requirements-dev.txt" at a later stage, when test dependencies creep in, or for linting, or else.

f4lco added a commit to f4lco/treon that referenced this issue Jun 26, 2019
f4lco added a commit to f4lco/treon that referenced this issue Jun 26, 2019
With the "editable" package installation from pip,
this should be pretty much obsolete.
@amit1rrr
Copy link
Member

document pip install -e . in readme (I was simply unaware of that)

Maybe add a "requirements-dev.txt" at a later stage, when test dependencies creep in, or for linting, or else.

Sounds good!

f4lco added a commit to f4lco/treon that referenced this issue Jun 27, 2019
f4lco added a commit to f4lco/treon that referenced this issue Jun 27, 2019
With the "editable" package installation from pip,
this should be pretty much obsolete.
f4lco added a commit to f4lco/treon that referenced this issue Jul 1, 2019
f4lco added a commit to f4lco/treon that referenced this issue Jul 1, 2019
f4lco added a commit to f4lco/treon that referenced this issue Jul 1, 2019
f4lco added a commit to f4lco/treon that referenced this issue Jul 2, 2019
amit1rrr added a commit that referenced this issue Jul 2, 2019
Add basic tests for notebook (test) execution (#7)
@f4lco
Copy link
Contributor Author

f4lco commented Jul 2, 2019

Appears all todos from above list are done 🙂

@f4lco f4lco closed this as completed Jul 2, 2019
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