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

[KED-1456] Docker environment for developers #265

Closed
neomatrix369 opened this issue Feb 26, 2020 · 6 comments
Closed

[KED-1456] Docker environment for developers #265

neomatrix369 opened this issue Feb 26, 2020 · 6 comments
Labels
Issue: Feature Request New feature or improvement to existing feature

Comments

@neomatrix369
Copy link
Contributor

neomatrix369 commented Feb 26, 2020

Description

I had issues building and running kedro tests on my MacOSX environment. Haven't had these conflicts in dependencies when working with other projects or packages. It's possible it's an isolated case but there is a chance it might happen to someone else's development environment.

Context

Instead of immediately trying to debug this issue, I decided to create a docker environment for development and testing purposes. It takes care of managing python dependencies without conflicting with your host machine local environment python environments. It's also a good alternative way to run kedro (with or without our changes) in an isolated environment for sanity checking.

You run the shell script to start the docker environment, it has the relevant mappings to the python dependencies (isolated) environment and the kedro sources.

(Happy to share these scripts via a PR, if there isn't one already out there)

@neomatrix369 neomatrix369 added the Issue: Feature Request New feature or improvement to existing feature label Feb 26, 2020
@ghost
Copy link

ghost commented Feb 26, 2020

Is this related to/a duplicate of: #254? :)

@neomatrix369
Copy link
Contributor Author

neomatrix369 commented Feb 26, 2020

Is this related to/a duplicate of: #254? :)

It's going to have additional functionality than just running tests in the docker environment.

You get an interactive environment i.e. a prompt inside the docker container where you can run all your commands from. For e.g. run the build-docs or any other make command from inside this container while having access to the kedro sources on your host machine:

kedro@3febd7d5d069:~/kedro$
kedro@3febd7d5d069:~/kedro$ make build-docs
./docs/build-docs.sh
Defaulting to user installation because normal site-packages is not writeable
Obtaining file:///home/kedro/kedro
  Installing build dependencies ... |
...
Collecting sphinx<2.0,>=1.8.4; extra == "docs"
  Downloading Sphinx-1.8.5-py2.py3-none-any.whl (3.1 MB)
     |████████████████████████████████| 3.1 MB 1.8 MB/s
Collecting tornado<6.0,>=4.2; extra == "docs"
  Downloading tornado-5.1.1.tar.gz (516 kB)
     |████████████████████████████████| 516 kB 2.2 MB/s
Collecting nbsphinx==0.4.2; extra == "docs"
  Downloading nbsphinx-0.4.2-py2.py3-none-any.whl (20 kB)
...

@neomatrix369
Copy link
Contributor Author

neomatrix369 commented Feb 28, 2020

@ZainPatelQB I now have a PR - so you can see how this will be different from #254 - although both serve similar purposes and could co-exist

neomatrix369 added a commit to neomatrix369/kedro that referenced this issue Feb 28, 2020
…elated to issue kedro-org#256. Added new release notes entry for PR kedro-org#268, related to issue kedro-org#265
neomatrix369 added a commit to neomatrix369/kedro that referenced this issue Feb 28, 2020
…elated to issue kedro-org#256. Added new release notes entry for PR kedro-org#268, related to issue kedro-org#265

[skip ci]
neomatrix369 added a commit to neomatrix369/kedro that referenced this issue Mar 2, 2020
…elated to issue kedro-org#256. Added new release notes entry for PR kedro-org#268, related to issue kedro-org#265

[skip ci]
@yetudada yetudada changed the title Docker environment for developers [KED-1456] Docker environment for developers Mar 9, 2020
neomatrix369 added a commit to neomatrix369/kedro that referenced this issue Mar 9, 2020
…elated to issue kedro-org#256. Added new release notes entry for PR kedro-org#268, related to issue kedro-org#265

[skip ci]
neomatrix369 added a commit to neomatrix369/kedro that referenced this issue Mar 10, 2020
…elated to issue kedro-org#256. Added new release notes entry for PR kedro-org#268, related to issue kedro-org#265

[skip ci]
neomatrix369 added a commit to neomatrix369/kedro that referenced this issue Mar 15, 2020
…elated to issue kedro-org#256. Added new release notes entry for PR kedro-org#268, related to issue kedro-org#265

[skip ci]
@neomatrix369
Copy link
Contributor Author

neomatrix369 commented Apr 15, 2020

I did read that there is some work going on wrt Kedro docker (#57 (comment)), happy to align with that work if its available in the open. I have some experience in this area and happy to share it with this project.

@mzjp2
Copy link
Contributor

mzjp2 commented May 18, 2020

As mentioned in PR #268

Hey!

Thanks for raising this PR and sorry for the delay in getting back to you. We've had an internal discussion about this and decided that we'd instead focus on making the development requirements more minimal, rather than introducing a docker image. You can now run tests and get started on contributing without Spark installed, which was a major impediment before.

I'll go ahead and close this, but thank you again for the PR and discussion. :)

@mzjp2 mzjp2 closed this as completed May 18, 2020
@neomatrix369
Copy link
Contributor Author

As mentioned in PR #268

Hey!
Thanks for raising this PR and sorry for the delay in getting back to you. We've had an internal discussion about this and decided that we'd instead focus on making the development requirements more minimal, rather than introducing a docker image. You can now run tests and get started on contributing without Spark installed, which was a major impediment before.
I'll go ahead and close this, but thank you again for the PR and discussion. :)

So this does not solve the problem, it only pushes it into another direction and encapsulates it.

As a developer, I would still like to build and run the whole test suite. Also, docker gives great isolation and also easy to share images and build on top of it. As we know in the world of python each one of us has our own environments and wouldn't change it for another tool/package.

When one has errors or issues, it could be so many reasons, while docker would bring a standard way to reproduce it and fix it. I see more uses, advantages and pluses having it than not. But the final decision is of course yours.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue: Feature Request New feature or improvement to existing feature
Projects
None yet
Development

No branches or pull requests

2 participants