# notebookr
[](https://badge.fury.io/py/notebookr)
[](https://pypi.org/project/notebookr/)
[](https://pepy.tech/project/notebookr)
A simple tool to set up development environments for Jupyter notebooks. My motivation: people frequently email or file-share Jupyter notebooks, which generally short-circuits my normal flow for receiving, working with, and managing code (usually via GitHub). So, whatʻs the fastest, easiest way to get these loose notebooks into flow?
Using notebookr you can typically cut the setup process down to a very short workflow:
1. Receive and save Python notebook (.ipynb) file into a working directory
2. Open a terminal
3. `notebookr SomeNotebook.ipynb`
The package runs and creates a project folder with your notebook. At this point, if you are using an IDE, you might:
4. `code some-notebook`
5. `source .venv/bin/activate`
... or:
6. `.venv\Scripts\activate` # windows
- or - if you are using Jupyter
4. `jupyter lab --notebook-dir=some-notebook`
Notebookr will give you
- A git-initialized, uv-initialized project folder with a name based on the notebook name
- The uv virtual environment at `.venv/`, ready to be activated.
- A simple .gitignore with common patterns, including especially that .venv pattern
- A `pyproject.toml` or `requirements.txt` (optional) file with dependencies read in from the notebook.
- A `notebooks/` folder with your notebook safely tucked away.
# Installation
```bash
pip install notebookr
```
# or
```bash
uv add notebookr
```
# Usage
```bash
notebookr path/to/your/notebook.ipynb
```
```bash
notebookr --with_py path/to/your/notebook.ipynb # Also creates a python copy of the notebook
```
This will:
1. Create a virtual environment
2. Generate requirements.txt based on imports in your notebook
3. Create a .gitignore
4. Initialize a git repository
5. Install required packages
# Version
0.1.1 added `--with_py`
Raw data
{
"_id": null,
"home_page": null,
"name": "notebookr",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "academic, development, jupyter, notebook, python, research, uv, virtualenv",
"author": null,
"author_email": "Peter Dresslar <peterdresslar@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/3c/ea/58cd84aec13d1a92175b1ff8a2130b3de6c6ca15716c386e51faaa279446/notebookr-0.1.4.tar.gz",
"platform": null,
"description": "# notebookr\n\n[](https://badge.fury.io/py/notebookr)\n[](https://pypi.org/project/notebookr/)\n[](https://pepy.tech/project/notebookr)\n\nA simple tool to set up development environments for Jupyter notebooks. My motivation: people frequently email or file-share Jupyter notebooks, which generally short-circuits my normal flow for receiving, working with, and managing code (usually via GitHub). So, what\u02bbs the fastest, easiest way to get these loose notebooks into flow?\n\nUsing notebookr you can typically cut the setup process down to a very short workflow:\n\n1. Receive and save Python notebook (.ipynb) file into a working directory\n2. Open a terminal\n3. `notebookr SomeNotebook.ipynb`\n\nThe package runs and creates a project folder with your notebook. At this point, if you are using an IDE, you might:\n\n4. `code some-notebook`\n5. `source .venv/bin/activate` \n... or:\n6. `.venv\\Scripts\\activate` # windows\n\n- or - if you are using Jupyter\n\n4. `jupyter lab --notebook-dir=some-notebook`\n\nNotebookr will give you\n- A git-initialized, uv-initialized project folder with a name based on the notebook name\n- The uv virtual environment at `.venv/`, ready to be activated.\n- A simple .gitignore with common patterns, including especially that .venv pattern\n- A `pyproject.toml` or `requirements.txt` (optional) file with dependencies read in from the notebook.\n- A `notebooks/` folder with your notebook safely tucked away.\n\n# Installation\n\n```bash\npip install notebookr\n```\n# or\n```bash\nuv add notebookr\n```\n\n# Usage\n\n```bash\nnotebookr path/to/your/notebook.ipynb\n```\n\n```bash\nnotebookr --with_py path/to/your/notebook.ipynb # Also creates a python copy of the notebook\n```\n\nThis will:\n1. Create a virtual environment\n2. Generate requirements.txt based on imports in your notebook\n3. Create a .gitignore\n4. Initialize a git repository\n5. Install required packages\n\n# Version\n0.1.1 added `--with_py`",
"bugtrack_url": null,
"license": null,
"summary": "Setup development environment for Jupyter notebooks using UV",
"version": "0.1.4",
"project_urls": {
"Bug Tracker": "https://github.com/peterdresslar/notebookr/issues",
"Homepage": "https://github.com/peterdresslar/notebookr"
},
"split_keywords": [
"academic",
" development",
" jupyter",
" notebook",
" python",
" research",
" uv",
" virtualenv"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f7bbb0cb419202639708fbc16189870ca81c0cc0822ff1ca5eb96257bb9fe716",
"md5": "db40c3b656247db28ae4df02ae0a4258",
"sha256": "90044c8b4b89b6a3ad06f58503ccb0d97959758b742e58b07eaae69666e6e420"
},
"downloads": -1,
"filename": "notebookr-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "db40c3b656247db28ae4df02ae0a4258",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 4348,
"upload_time": "2025-04-28T19:13:51",
"upload_time_iso_8601": "2025-04-28T19:13:51.281298Z",
"url": "https://files.pythonhosted.org/packages/f7/bb/b0cb419202639708fbc16189870ca81c0cc0822ff1ca5eb96257bb9fe716/notebookr-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3cea58cd84aec13d1a92175b1ff8a2130b3de6c6ca15716c386e51faaa279446",
"md5": "85580dd4c61df10e78a09a792b192523",
"sha256": "14328a49a0de06429921848a498d0ae7c39d77aa3fd94dc6b841b8153dd0fc3f"
},
"downloads": -1,
"filename": "notebookr-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "85580dd4c61df10e78a09a792b192523",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 3901,
"upload_time": "2025-04-28T19:13:52",
"upload_time_iso_8601": "2025-04-28T19:13:52.537649Z",
"url": "https://files.pythonhosted.org/packages/3c/ea/58cd84aec13d1a92175b1ff8a2130b3de6c6ca15716c386e51faaa279446/notebookr-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-04-28 19:13:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "peterdresslar",
"github_project": "notebookr",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "notebookr"
}