/r/IPython
If you have a question about IPython, (now Jupyter) the programming language written by scientists for scientists with an eye towards presentation, we want you here. If you have tips, Notebooks you want to share, or you want feedback we want you here. We welcome posts about the all versions of the IPython IDE, plus Markdown and LaTex. We discuss the popular libraries Mathplotlab, SciPy, NumPy, & SymPy. If you want to know about features like embedded video or animation check us out.
IPython (now Jupyter) was originally started by Fernando Perez as a way to improve the Python work flow for scientific computing. Since then it has grown in popularity, and gaining to the ability to make XKCD styled plots using matplotlib hasn't hurt. With new additions like the IPython Notebook, which runs in a browser, and the Notebook Viewer, IPython is a scientist's best friend.
Related subreddits
Useful Libraries
Cloud Services
Official IPython Sites
Official Example Notebooks
Additional Good Examples
Installation
Other Educational Resources
NBViewer Browser Extensions
Additional References
Comment Guidelines
The visitors to /r/IPython come from very different backgrounds and some even have little programming experience. Since this site is primarily here to provide help in the use of IPython, and host discussions about current and future features, make sure that it is clear how comments are relevant to the original post or the previous comment.
/r/IPython
Hi, I’m in a course on data analytics - our teacher keeps saying that we will find our niche within the spectrum of visualisation, machine learning or coding. I’m not sure how that works? Like how are we supposed to get better at visualisation without mastering coding. At times he says coding is important if you are interested in becoming a junior data analyst. how does the job market work? Can someone explain it to me? I’m not sure where my strength lies.
Hy guys can you suggest me what is best way to create database for our simulation team ?
So that we can access it whenever we want to check the properties of material.
If we wanna import new material also once validated we can do that also.
Anyone out there to help me out ?
So basically I want the terminal that is launched within jupyter (specifically jupyter-lab) to be zsh instead of bash. If I am have not expressed the my querry clearly attached screenshots might help. ss-1: default zsh shell with 'ml0' conda env ss-2 : terminal launched from jupyter-lab uses bash by default and also loses the conda env And my major motive is to preserve the conda environment in the jupyter from which it is launched.
I like to use iPython notebooks to store experimental code and debugging results, but it's a pain to use version control to look at them.
So I wrote some pre-commit hooks that makes it easy to diff iPython notebooks in Git. It auto-generates a copy of the file with just the Python code, so that you can just inspect code changes.
I wrote a bit more about why here, along with instructions on how to use them: https://blog.moonglow.ai/diffing-ipython-notebook-code-in-git/
And the git repo for the hooks (MIT-licensed) is here: https://github.com/moonglow-ai/pre-commit-hooks
Excited to release ryp, a Python package for running R code inside Python! ryp makes it a breeze to use R packages in your Python projects, and includes out-of-the-box support for inline plotting in Jupyter notebooks.
Converting Jupyter notebooks to PDF can be quite handy, especially when you want to share your analyses with others who may not have Jupyter installed. However, navigating the various options for conversion can be a challenge. I've recently put together a blog post that reviews two popular methods: nbconvert
and Quarto.
In the post, I break down the setup process, features, and limitations of each method to help you decide which one might be the best fit for your needs.
nbconvert
is the official library from the Jupyter team that's designed for this task. It offers versatility by letting you convert notebooks into formats like PDF through two approaches: WebPDF and the traditional PDF via LaTeX.
The WebPDF method is simpler to set up, while the LaTeX route tends to yield higher-quality documents—ideal for complex mathematical content but comes with more installation hurdles.
On the other hand, Quarto provides a comprehensive solution for converting Jupyter notebooks into PDFs, but it does require a bit more effort to get everything working. It’s feature-rich and offers great customization, though the learning curve can be a bit steep.
In my experience, many users start out with nbconvert
using WebPDF for quick needs and then graduate to using XeTeX as their requirements grow more sophisticated. Quarto, while powerful, is often suited for those with very specific document formatting needs.
For anyone interested in learning more about these options and their respective setups, you can check out the full details in my blog post here: Converting Jupyter Notebooks to PDF
Converting a notebook using the LaTeX-based converter and hiding the code
Hi r/IPython,
Two years ago, I announced here a tool to convert Jupyter notebooks to PDF for free.
The tool has now converted more than 10,000 notebooks! So I figured I'd add some extra features.
The tool is available at https://convert.ploomber.io
A few ideas I have:
Let me know what other things might be useful!
Current methods for extracting structured outputs from LLMs often rely on libraries such as DSPy, OpenAI Structured Outputs, and Langchain JSON Schema. These libraries typically use Pydantic Models to create JSON schemas representing classes, enums, and types. However, this approach can be costly since many LLMs treat each element of the JSON schema (e.g., {}
, :
, "$"
) as separate tokens, leading to increased costs due to the numerous tokens present in JSON schemas.
Semantix offers a different and more cost-effective solution. Instead of using JSON schemas, Semantix represents classes, enums, and objects in a more textual manner, reducing the number of tokens and lowering inference costs. Additionally, Semantix leverages Python's built-in typing system with minor modifications to provide meaning to parameters, function signatures, classes, enums, and functions. This approach eliminates the need for unnecessary Pydantic models and various classes for different prompting methods. Semantix also makes it easy for developers to create GenAI-powered functions.
Semantix is designed for developers who have worked with libraries like Langchain and DSPy and are tired of dealing with Pydantic models and JSON schemas. It is also ideal for those who want to add AI features to existing or new applications without learning extensive new libraries.
Semantix supports multimodal inputs, allowing you to use images and videos effortlessly. Unlike other libraries, Semantix requires minimal code changes to achieve excellent results.
Ready to give it a try? Check out our Colab notebook here and explore our GitHub repository here for more details.
when i try to run this command : for label in labels: !mkdir {'Tensorflow/workspace/images/collectedimages//'+label} cap = cv2.VideoCapture(0) print('Collecting images for {}'.format(label)) time.sleep(5) for imgnum in range(number_imgs): ret, frame = cap.read() imagename = os.path.join(IMAGES_PATH, label, label+'.'+'{}.jpg'.format(str(uuid.uuid1()))) cv2.imwrite(imgname, frame) cv2.imshow('frame', frame) time.sleep(2)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
it shows this error: The syntax of the command is incorrect.
Does anyone know why?
Hey r/ipython! Today, I'm lauching nb2dash, a tool to convert Jupyter notebooks into dashboards, and I'd love to get your feedback.
https://nb2dash.ploomberapp.io
You can see a sample dashboard here: https://nb2dash.ploomberapp.io/notebook/bb8086c0
https://reddit.com/link/1f9rajw/video/hr40j3dht0nd1/player
Data practitioners who want to easily share an interactive analysis, machine learning model or any other interactive app.
When people want to share a notebook, they often convert it into HTML or PDF. However, this is hinders interactivity. Alternatively, you might use Voila to deploy it as a web app but that requires paying to a hosting provider. Voici uses WASM, meaning your notebook is a static site and all compute happens locally, reducing cost by a huge margin. Note that WASM and Voici are still early technologies and there are packages that won't work.
I'd really appreciate it if you could try it out and let me know what you think. Any feedback, feature requests, or bug reports are welcome!
(Note: This is a side project, so please be patient if there are any hiccups. I'm actively working on improvements!)
in jupyter notebook when i try to save a photo for object detection it shows this error:
<string>:1: SyntaxWarning: invalid escape sequence '\w'
even when i try to set variables
Does anyone know the reason?
I've created CLI, a tool that generates semantic commit messages in Git
Here's a breakdown:
What My Project Does Penify CLI is a command-line tool that:
Key features:
penify-cli commit
: Commits code with an auto-generated semantic message for staged files.penify-cli doc-gen
: Generates documentation for specified files/folders.Installation: pip install penify-cli
Target Audience Penify CLI is aimed at developers who want to:
Comparison Github-Copilot, aicommit:
Note: Currently requires signup at Penify (we're working on Ollama integration for local use).
Check it out:
I'd love to hear your thoughts and feedback!
Hi all - wanted to post about my project Moonglow here as I thought it might be interesting to people!
It's a VSCode extension that lets you start and stop remote servers without leaving your editor. Right now you can connect to Runpod and AWS; the extension will take care of starting and stopping the remote instances, and will also set up the connection from your iPython notebook to the remote kernel.
Here's demo video of how it works! You can check it out at http://moonglow.ai .