Giter Club home page Giter Club logo

Comments (13)

rokroskar avatar rokroskar commented on September 26, 2024

I'm not sure where the need for a completely empty project came from, tbh - but isn't what you are asking for already covered by the basic python project? The only thing beyond what you have in your list is essentially a blank requirements.txt file.

from renku-project-template.

emmjab avatar emmjab commented on September 26, 2024

I think @jachro also is talking about not cluttering up the template with stuff the user might not use, so less than what the basic python project has -- getting rid of the requirements.txt, environment.yml, removing or commenting out the lines in the Dockerfile that check thoes files, and maybe removing the extra dirs.

from renku-project-template.

rokroskar avatar rokroskar commented on September 26, 2024

I see - yes I suppose we could do that (though there are still a number of python dependencies installed because of jupyter)

from renku-project-template.

jachro avatar jachro commented on September 26, 2024

So, yes, I wanted to have something very minimal without files which I don't need and don't understand for my data science project in bash :) Actually, now I think, that if our Empty template provides something like that, then we can advertise it as something you should use if you want to do your project in any language other than R or Python. We can say smth like this: Bring your Scala project to Renku!
As @rokroskar said, I suppose we need some files to make the whole Renku machinery working fine but at least for now I was able to convince Renku not to complain and work with this files structure:

.access-token
.dockerignore
.git
.gitattributes
.gitignore
.gitlab-ci.yml
.renku
  datasets
  metadata.yml
  refs
  workflow
.renku.lock
Dockerfile
README.md
data
file
src

Of course, there are some scripts under src and datasets under data but I guess it's irrelevant from the issue point of view.
For the reference, the project I'm talking about renku-qa/kubas-datascience-in-bash can be found on the DEV (stable).

from renku-project-template.

emmjab avatar emmjab commented on September 26, 2024

The goals:

  • Create the most minimal template, just enough to be able to (a) launch a jupyterlab or rstudio session from renkulab & (b) run renku commands.
  • Add documentation that explains what this template is & how to use it (which will include "best practices for merge conflicts"; and calling "git diff" to show users what gets added to their repos)
  • Make it more clear how the files (& content within the files) are used in a renku project so the users know what they can delete or modify without worrying about breaking renku

Why to use this template:

  • you have a project you're happy with (i.e. you're not starting from scratch) and you want to share it/make a template out of it (e.g. for a workshop or course) & continue working on it/letting others fork it from renkulab.
  • AND/OR you're interested in the idea of annotating your datasets & running workflows with the renku cli.
# for building of docker images
.gitlab-ci.yml
Dockerfile

# for keeping renku metadata
.renku

# for git ignoring stuff
.gitignore # minimal case, should just have the renku pieces; {.renku.lock, .renku/tmp, .renku/cache}

# for docker ignoring stuff
.dockerignore # minimal case, just exclude .renku and .git dirs


btw these are the current template docs: https://renku.readthedocs.io/en/latest/user/templates.html

.git		
.gitignore	
.renku		
.renku.lock	
		
README.md		
notebooks
data

.gitlab-ci.yml		
.dockerignore		
Dockerfile	
requirements.txt
environment.yml

from renku-project-template.

rokroskar avatar rokroskar commented on September 26, 2024

So apart from the requirements.txt and environment.yml, this is the same as python-minimal is it not? Do we really need a second template then?

from renku-project-template.

emmjab avatar emmjab commented on September 26, 2024

also README, notebooks, data => that's 5 files to take out
plus docs to add for how to merge the ones that are existing / why they're needed

Do we really need a second template then?

yes?

from renku-project-template.

emmjab avatar emmjab commented on September 26, 2024

oh - do you mean do we need a separate template for python on top of this new minimal? i'll defer answering that for now and suggest that we could make a "research object" template.

i think we should just keep requirements.txt in the minimal python since it's a simple text file & easy to explain to beginners, and conda's environment.yml isn't and we can doc how to add conda env stuff instead (or whatever else people want to use).

from renku-project-template.

rokroskar avatar rokroskar commented on September 26, 2024

The majority of merge conflicts will come from the .gitignore - there we could probably do some clever path merging if an existing file already exists. In the case that they don't want python, should we launch the environment with VSCode inside instead and default to showing a terminal? Just dreaming here... but to me it would be weird to drop into a jupyterlab session if I expressly didn't want a python project. If I want JupyterLab I'll just make a minimal python project.

from renku-project-template.

emmjab avatar emmjab commented on September 26, 2024

The majority of merge conflicts will come from the .gitignore

that's because our .gitignore is really long (?); do we really need to include all of that stuff; can we not just append the few things we want to exclude for renku to the user's .gitignore? and we can let them check the changes before doing the commit.

In the case that they don't want python, should we launch the environment with VSCode inside instead and default to showing a terminal?

I haven't tried vscode via renkulab, do you have a project you can link? :D

-- also, i think it's not just about merge conflicts, it's about having random extra files cluttering your repo, which in the case of the requirements.txt & environment.yml files, if you delete them your image doesn't build because of the current Dockerfile template

from renku-project-template.

rokroskar avatar rokroskar commented on September 26, 2024

I don't have a VSCode example at the moment but I'd like to try to put one together. @ciyer opened SwissDataScienceCenter/renkulab-docker#83 a while back.

from renku-project-template.

emmjab avatar emmjab commented on September 26, 2024

cool!

imo that would be in round two of updates, since jupyterlab comes with a terminal and the ability to edit files in the gui & we include vim & people can install emacs or whatever they want.

i still think we should start with the minimal files for round one.

from renku-project-template.

rokroskar avatar rokroskar commented on September 26, 2024

yeah absolutely - as I said, I was just dreaming out loud :)

from renku-project-template.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.