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

Nbless: (de)construct, convert, execute, and prepare slides from Jupyter notebooks. #4

Closed
3 of 9 tasks
marskar opened this issue May 18, 2019 · 10 comments
Closed
3 of 9 tasks

Comments

@marskar
Copy link

marskar commented May 18, 2019

Submitting Author: Name (@marskar)
Repository Link: https://github.com/marskar/nbless
Documentation Link: https://marskar.github.io/nbless/
PyPI Link: https://pypi.org/project/nbless/


  • Paste the full DESCRIPTION file inside a code block below:
The Nbless Python package allows you to 
- (de)construct, 
- convert, 
- execute, and 
- prepare slides from Jupyter notebooks.

The Nbless Python package consists of 6 Python functions and shell commands:

- nbconv, which converts a notebook into various formats.
- nbdeck, which prepares a notebook to be viewed as or converted into slides.
- nbexec, which runs a notebook from top to bottom and saves an executed version.
- nbless, which calls nbuild and nbexec to create and execute a notebook.
- nbraze, which extracts code and markdown files from a notebook. 
- nbuild, which creates a notebook from code and markdown files.

Scope

  • Please indicate which category or categories this package falls under:

    • Data retrieval
    • Data extraction
    • Data munging
    • Data deposition
    • Data visualization
    • Reproducibility
    • Geospatial
    • Education
    • Unsure/Other (explain below)
  • Explain how the and why the package falls under these categories (briefly, 1-2 sentences). Please note any areas you are unsure of:

Jupyter notebooks are important for reproducibility, because they facilitate literate programming, the combination of code and text. This way, descriptions of methods and results can be adjacent to the code used to obtain the results.
I frequently use Jupyter notebooks in my work and in the Python classes I teach, but access may be limited due to the underlying JSON structure of notebooks.
With Nbless, anyone can create Jupyter notebooks from simple source files or extract code and markdown files from Jupyter notebooks. This can promote the modularity principle without sacrificing the benefits of literate programming or the convenience of a single file with all code, text, and output for the project.
Code and markdown files can be easily be accessed with any text editor or even opened in a browser. Importantly, the original Jupyter notebook can be recreated from code and markdown files.

  • Who is the target audience and what are scientific applications of this package?

The target audience is anyone who uses Jupyter notebooks. This package may help teachers and researchers to improve the efficiency of their Jupyter notebook workflows. One of the major features of Nbless is that it can facilitate the creation of slides from Jupyter notebooks. I can imagine teachers and researchers writing markdown and code files and then using nbless to creating Jupyter notebooks to share with their students and colleagues.

  • Are there other Python packages that accomplish the same thing? If so, how does yours differ?

Related packages include:

These packages can all convert Jupyter notebooks to other formats: markdown files (all three) or Python scripts (jupytext). Nbless can take a more modular approach to file conversion by extracting the contents of each notebook cell into a separate file (cell -> file) or using a source file to create each notebook cell (file -> cell). Looking beyond simple file conversion, Nbless includes a tool for making slides from notebooks (by setting slide_type in notebook metadata).

  • Any other questions or issues we should be aware of?:

P.S. Have feedback/comments about our review process? Leave a comment here

@kysolvik
Copy link
Contributor

Hi @marskar! Thanks for you presubmission inquiries. We'll discuss and get back to you on this one and the other two.

@lwasser
Copy link
Member

lwasser commented May 20, 2019

thank you @kysolvik :) @marskar welcome to pyopensci!! i'd like @choldgraf to look at your three submissions given his is on the Jupyter dev team!!

@choldgraf
Copy link
Contributor

I'll try to take a look sometime this week if I have time. On that note, I don't know that we have the capacity to review three projects from the same person...@marskar do you have a preferred repository from the three that you submitted to be reviewed?

@lwasser
Copy link
Member

lwasser commented May 20, 2019

thank you @choldgraf !! I agree.. we may need to space things out a bit

@marskar
Copy link
Author

marskar commented May 20, 2019

Hi @kysolvik, @lwasser, and @choldgraf,
Thanks for the quick follow-up.
No rush with the review. I just want to see if any of these three packages would be of interest to pyopensci. @choldgraf, I do not have a preference, please feel free to prioritize or deprioritize as you see fit.

  • Nbless is related to Jupyter. It uses nbformat and nbconvert. I wrote it after watching Joel Grus' I don't like notebooks talk 😃
  • Rmdawn is similar to Nbless, except its for R markdown and R files.
  • Gitone is a package that I use all the time. You can think of it as a .gitconfig in the form of a python package 😃It will be relevant to everyone who uses or wants to use git on the command line.

@lwasser
Copy link
Member

lwasser commented May 20, 2019

Thank you so much @marskar we appreciate your engaging with us and all of the submissions! we will have a look at all three individually and will then get back to you! because we are new and still building our infrastructure, we may need to space things out based upon resources and time. However we will get back to you and are appreciative of the submissions!

By the way, are you interested in being a package reviewer in the future?

@marskar
Copy link
Author

marskar commented May 20, 2019

Thanks @lwasser!
Again, no rush with the reviews.
I understand that pyopensci is new. I was following ropensci for a while and was excited to hear about pyopensci! I use R a lot, but I prefer to develop in Python (for many reasons!).
I would be honored to be a pyopensci package reviewer in the future!

@lwasser
Copy link
Member

lwasser commented May 20, 2019

oh wonderful. thank you @marskar !! You are also welcome to drop in on one of our meetings (we meet every three weeks) via zoom. if you are interested please send me an email and i'll add you to the invite list. we look forward to working with you in the future. We will need reviewers so it's wonderful that you are willing to contribute in that way!

More on your submissions soon!! :)

@lwasser
Copy link
Member

lwasser commented May 30, 2019

ok @marskar thank you so much for this submission (and for the other 3!!). After our meeting discussion, let's plan to review this package first.

@leouieda and @ocefpaf will be the reviewers on this package. To begin the formal submission process, please submit a new issue that is an actual submission issue. Here you will be asked if this will be reviewed for JOSS as well as if you are OK with reviewers submitting issues to your repo directly.

Once you have submitted the review issue , I will

  1. formally assign @ocefpaf and @leouieda as reviewers of this package
  2. provide a review deadline and
  3. ask you to close this issue given the new issue!

please let me know if you have any questions. looking forward to seeing this package go through the review process!

@marskar
Copy link
Author

marskar commented May 30, 2019

Thanks @lwasser!
I'm very excited that Nbless is going to be reviewed!
I made a new issue (#7) so I already closed the pre-submission inquiry issue (#4).

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

No branches or pull requests

4 participants