# jupyter

Project Jupyter is a non-profit, open-source project providing software and standards for interactive computing with computational notebooks across programming languages.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Why I Stopped Using nbdev

DevFeed: [Why I Stopped Using nbdev](<https://devfeed.tech/articles/why-i-stopped-using-nbdev-18783.md>)

Original publisher: [Read original article](<https://hamel.dev/blog/posts/ai-stack/>)

Author: Hamel Husain

Published: 2026-01-18T08:00:00Z

Content type: opinion

Language: en

Sources: [Hamel Husain](<https://devfeed.tech/sources/hamel-husain.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [ai-coding](<https://devfeed.tech/topics/ai-coding.md>), [jupyter](<https://devfeed.tech/topics/jupyter.md>), [Python](<https://devfeed.tech/topics/python.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [developer](<https://devfeed.tech/tags/developer.md>), [jupyter](<https://devfeed.tech/tags/jupyter.md>), [jupyter-notebooks](<https://devfeed.tech/tags/jupyter-notebooks.md>), [nbdev](<https://devfeed.tech/tags/nbdev.md>), [python](<https://devfeed.tech/tags/python.md>), [software](<https://devfeed.tech/tags/software.md>), [tools](<https://devfeed.tech/tags/tools.md>)

### AI overview

The author explains why they stopped using nbdev, a literate-programming development environment built around Jupyter notebooks. They argue that AI coding tools work less effectively with nbdev's notebook-to-library workflow, while AI can now help understand and maintain documentation separately from code. The author concludes that disciplined development and documentation depend more on developer effort than on the tooling environment.

### Source excerpt

Programmers love to proclaim they've found the best tool. Paul Graham called Lisp his "secret weapon." DHH described Ruby as "a magical glove that just fit my brain perfectly." Pieter Levels ships million-dollar products with vanilla PHP and jQuery. These declarations aren't about the languages themselves. They're about developers finding tools that fit how they think. When the environment clicks, you move fast. I had that experience with nbdev, a development environment for literate programming that I helped build and maintain1. I created hundreds of projects with it and was one of its biggest proponents. Today, I no longer use it. AI coding tools changed the trade-offs. Fighting the AI The beauty of nbdev is its workflow. You write code, documentation and tests in one source of truth: Jupyter notebooks. Afterwards, these notebooks are transpiled into a Python library and documentation website. This workflow is idiosyncratic. AI coding tools, trained on vast amounts of conventional source code, get confused. They struggle to differentiate between editing the notebook and editing the final source code. It feels like fighting the AI instead of working with it. I write software to solve problems, not to write code. I want to work in an environment where AI has the highest chance of success. With nbdev, I was swimming upstream. Some argue that AI tools encourage lazy thinking: that without guardrails, developers skip the hard work of breaking problems into steps. But thinking step-by-step is a human skill. Notebooks don't force you to write clean code. AI tools don't force you to think carefully. Discipline comes from the developer, not the environment. Tools Don't Matter As Much As I Thought A central promise of literate programming is better documentation. By keeping code and docs in one place, you reduce the chance they become stale. Strangely, many nbdev projects lacked sufficient documentation for my taste. Sometimes, this helped me learn a codebase by contributin

## Jupyter Notebooks on Heroku with Persistent Storage

DevFeed: [Jupyter Notebooks on Heroku with Persistent Storage](<https://devfeed.tech/articles/jupyter-notebooks-on-heroku-with-persistent-storage-26461.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/jupyter-notebooks-heroku-persistent-storage/>)

Author: Anush DSouza

Published: 2025-04-02T06:54:00Z

Content type: release

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Heroku](<https://devfeed.tech/topics/heroku.md>), [jupyter](<https://devfeed.tech/topics/jupyter.md>), [Disk image](<https://devfeed.tech/topics/disk-image.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Security](<https://devfeed.tech/topics/security.md>), [Retrieval Augmented Generation (RAG)](<https://devfeed.tech/topics/retrieval-augmented-generation-rag.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [cloud-infrastructure](<https://devfeed.tech/tags/cloud-infrastructure.md>), [data-analytics](<https://devfeed.tech/tags/data-analytics.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [jupyter](<https://devfeed.tech/tags/jupyter.md>), [jupyter-notebooks](<https://devfeed.tech/tags/jupyter-notebooks.md>), [managed-inference-and-agents](<https://devfeed.tech/tags/managed-inference-and-agents.md>), [news](<https://devfeed.tech/tags/news.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [pgvector](<https://devfeed.tech/tags/pgvector.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [python](<https://devfeed.tech/tags/python.md>), [rag](<https://devfeed.tech/tags/rag.md>), [security](<https://devfeed.tech/tags/security.md>), [storage](<https://devfeed.tech/tags/storage.md>)

### AI overview

Heroku introduces Heroku-Jupyter, an open-source solution for running Jupyter Notebooks with persistent PostgreSQL storage, deployment support, password protection, and customizable environments. The article also describes using Heroku-Jupyter with pgvector and Heroku Managed Inference and Agents for retrieval-augmented generation applications.

### Source excerpt

We're excited to introduce Heroku-Jupyter, an open-source, production-ready solution for running Jupyter Notebooks on Heroku with persistent storage, seamless deployment, and built-in security. Whether you're a data scientist, educator, or developer, you can now spin up a cloud-based Jupyter environment in minutes. Why Jupyter on Heroku? Jupyter Notebooks provide an interactive computing environment ideal for [...] The post Jupyter Notebooks on Heroku with Persistent Storage appeared first on Heroku.

## AI GPU Clusters, From Your Laptop, With Livebook

DevFeed: [AI GPU Clusters, From Your Laptop, With Livebook](<https://devfeed.tech/articles/ai-gpu-clusters-from-your-laptop-with-livebook-1688.md>)

Original publisher: [Read original article](<https://fly.io/blog/ai-gpu-clusters-from-your-laptop-livebook/>)

Published: 2024-09-24T00:00:00Z

Content type: article

Language: en

Sources: [The Fly Blog](<https://devfeed.tech/sources/the-fly-blog.md>)

Topics: [Elixir](<https://devfeed.tech/topics/elixir.md>), [fly.io](<https://devfeed.tech/topics/fly-io.md>), [jupyter](<https://devfeed.tech/topics/jupyter.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [PyTorch](<https://devfeed.tech/topics/pytorch.md>)

Tags: [access-control](<https://devfeed.tech/tags/access-control.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-and-ml](<https://devfeed.tech/tags/ai-and-ml.md>), [cdn](<https://devfeed.tech/tags/cdn.md>), [close-to-users](<https://devfeed.tech/tags/close-to-users.md>), [deploy-app-servers](<https://devfeed.tech/tags/deploy-app-servers.md>), [docker](<https://devfeed.tech/tags/docker.md>), [elixir](<https://devfeed.tech/tags/elixir.md>), [fly](<https://devfeed.tech/tags/fly.md>), [fly-io](<https://devfeed.tech/tags/fly-io.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [heroku-alternative](<https://devfeed.tech/tags/heroku-alternative.md>), [heroku-competitor](<https://devfeed.tech/tags/heroku-competitor.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [i](<https://devfeed.tech/tags/i.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [jupyter](<https://devfeed.tech/tags/jupyter.md>), [networking](<https://devfeed.tech/tags/networking.md>), [postgresql-clusters](<https://devfeed.tech/tags/postgresql-clusters.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [servers](<https://devfeed.tech/tags/servers.md>)

### AI overview

This recap introduces Livebook, FLAME, and the Nx stack as Elixir components for interactive notebooks, elastic code execution, and Elixir-native AI and machine learning. It describes moving computation between a laptop and remote Fly.io infrastructure, including GPU-backed workloads, and discusses private network access to other applications such as databases.

### Source excerpt

Livebook, FLAME, and the Nx stack: three Elixir components that are easy to describe, more powerful than they look, and intricately threaded into the Elixir ecosystem. A few weeks ago, Chris McCord (👋) and Chris Grainger showed them off at ElixirConf 2024. We thought the talk was worth a recap. Let's begin by introducing our cast of characters. Livebook is usually described as Elixir's answer to Jupyter Notebooks. And that's a good way to think about it. But Livebook takes full advantage of the Elixir platform, which makes it sneakily powerful. By linking up directly with Elixir app clusters, Livebook can switch easily between driving compute locally or on remote servers, and makes it easy to bring in any kind of data into reproducible workflows. FLAME is the Elixir's answer to serverless computing. By having the library manage a pool of executors for you, FLAME lets you treat your entire application as if it was elastic and scale-to-zero. You configure FLAME with some basic information about where to run code and how many instances it's allowed to run with, and then mark off any arbitrary section of code with Flame.call. The framework takes care of the rest. It's the upside of serverless without committing yourself to blowing your app apart into tiny, intricately connected pieces. The Nx stack is how you do Elixir-native AI and ML. Nx gives you an Elixir-native notion of tensor computations with GPU backends. Axon builds a common interface for ML models on top of it. Bumblebee makes those models available to any Elixir app that wants to download them, from just a couple lines of code. Here is quick video showing how to transfer a local tensor to a remote GPU, using Livebook, FLAME, and Nx: Let's dive into the keynote. Poking a hole in your infrastructure Any Livebook, including the one running on your laptop, can start a runtime running on a Fly Machine, in Fly.io's public cloud. That Elixir machine will (by default) live in your default Fly.io organization, giving

## Bringing Interactive Computing to Zed: Introducing REPL Support

DevFeed: [Bringing Interactive Computing to Zed: Introducing REPL Support](<https://devfeed.tech/articles/bringing-interactive-computing-to-zed-introducing-repl-support-13531.md>)

Original publisher: [Read original article](<https://zed.dev/blog/repl>)

Author: Kyle Kelley

Published: 2024-07-24T00:00:00Z

Content type: release

Language: en

Sources: [Zed Industries - Blog](<https://devfeed.tech/sources/zed-industries-blog.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [jupyter](<https://devfeed.tech/topics/jupyter.md>), [kernels](<https://devfeed.tech/topics/kernels.md>), [Python](<https://devfeed.tech/topics/python.md>), [Deno](<https://devfeed.tech/topics/deno.md>), [R](<https://devfeed.tech/topics/r.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>)

Tags: [analysis](<https://devfeed.tech/tags/analysis.md>), [code](<https://devfeed.tech/tags/code.md>), [development](<https://devfeed.tech/tags/development.md>), [jupyter](<https://devfeed.tech/tags/jupyter.md>), [jupyter-notebooks](<https://devfeed.tech/tags/jupyter-notebooks.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [kernels](<https://devfeed.tech/tags/kernels.md>), [language](<https://devfeed.tech/tags/language.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [python](<https://devfeed.tech/tags/python.md>), [release](<https://devfeed.tech/tags/release.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

Zed introduces a built-in REPL that lets users run code line by line, block by block, or from a selection, visualize data, and iterate within the editor. The feature integrates REPL-style interaction with Jupyter-like output and supports installed kernels for languages including Python, TypeScript through Deno, and R.

### Source excerpt

Run code, visualize data, and iterate right in your editor with Zed's new REPL support.

## Datalore Enterprise 2021.3: ячейки SQL, подключение Jupyter-ноутбуков к БД, интерактивные отчеты и многое другое

DevFeed: [Datalore Enterprise 2021.3: ячейки SQL, подключение Jupyter-ноутбуков к БД, интерактивные отчеты и многое другое](<https://devfeed.tech/articles/datalore-enterprise-2021-3-sql-jupyter-23947.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/JetBrains/articles/593959/>)

Author: alenaguzharina (JetBrains)

Published: 2021-12-07T14:10:12Z

Content type: release

Language: ru

Sources: [JetBrains RU](<https://devfeed.tech/sources/jetbrains-ru.md>)

Topics: [Data Science](<https://devfeed.tech/topics/data-science.md>), [jupyter](<https://devfeed.tech/topics/jupyter.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [SQLAlchemy](<https://devfeed.tech/topics/sqlalchemy.md>), [R](<https://devfeed.tech/topics/r.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [Amazon Redshift](<https://devfeed.tech/topics/amazon-redshift.md>), [Azure SQL](<https://devfeed.tech/topics/azure-sql.md>), [MariaDB](<https://devfeed.tech/topics/mariadb.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [Oracle Database](<https://devfeed.tech/topics/oracle-database.md>)

Tags: [azure-sql](<https://devfeed.tech/tags/azure-sql.md>), [data](<https://devfeed.tech/tags/data.md>), [data-science](<https://devfeed.tech/tags/data-science.md>), [database](<https://devfeed.tech/tags/database.md>), [datalore](<https://devfeed.tech/tags/datalore.md>), [jupyter](<https://devfeed.tech/tags/jupyter.md>), [jupyterhub](<https://devfeed.tech/tags/jupyterhub.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [oracle](<https://devfeed.tech/tags/oracle.md>), [plus-a5524f17cbdd](<https://devfeed.tech/tags/plus-a5524f17cbdd.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [python](<https://devfeed.tech/tags/python.md>), [scala](<https://devfeed.tech/tags/scala.md>), [sql](<https://devfeed.tech/tags/sql.md>), [tag-4d3456108bed](<https://devfeed.tech/tags/tag-4d3456108bed.md>), [tag-b0c5f1e2d8ce](<https://devfeed.tech/tags/tag-b0c5f1e2d8ce.md>), [tag-baf5012a40ff](<https://devfeed.tech/tags/tag-baf5012a40ff.md>)

### AI overview

This release article presents Datalore Enterprise 2021.3, a data science platform for collaborative Jupyter notebooks. The update adds database connections and native SQL cells, with query results transferred to pandas DataFrames, support for R and Scala notebooks, reactive features, chart builders, and interactive report publishing.

### Source excerpt

Привет, Хабр! Datalore Enterprise -- это data science платформа для совместной работы с Jupyter-ноутбуками. Ее можно установить в частное облако или на приватный сервер компании. Новая версия 2021.3 позволяет специалистам по анализу и обработке данных работать с базами данных и SQL-кодом внутри Jupyter-ноутбуков, а также легко делиться результатами работы с коллегами. Также мы интегрировали поддержку ноутбуков R и Scala, добавили новый реактивный режим, реализовали конструкторы графиков и множество других функций. Читайте дальше, чтобы узнать о новых возможностях Datalore Enterprise 2021.3! Читать далее

## \[Перевод\] Программа раннего доступа к JetBrains DataSpell открыта для всех

DevFeed: [\[Перевод\] Программа раннего доступа к JetBrains DataSpell открыта для всех](<https://devfeed.tech/articles/jetbrains-dataspell-23934.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/JetBrains/articles/576866/>)

Author: andreycheptsov (JetBrains)

Published: 2021-09-08T11:31:43Z

Content type: release

Language: ru

Sources: [JetBrains RU](<https://devfeed.tech/sources/jetbrains-ru.md>)

Topics: [jetbrains](<https://devfeed.tech/topics/jetbrains.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Data Science](<https://devfeed.tech/topics/data-science.md>), [jupyter](<https://devfeed.tech/topics/jupyter.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [data-science](<https://devfeed.tech/tags/data-science.md>), [eap](<https://devfeed.tech/tags/eap.md>), [ide](<https://devfeed.tech/tags/ide.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [jupyter](<https://devfeed.tech/tags/jupyter.md>), [jupyterhub](<https://devfeed.tech/tags/jupyterhub.md>), [jupyterlab](<https://devfeed.tech/tags/jupyterlab.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

JetBrains opens the DataSpell early access program to everyone. The article describes improvements to Jupyter notebook workflows, remote notebooks, and the interactive Python console, including better result handling and automatic import fixes.

### Source excerpt

С тех пор, как мы анонсировали JetBrains DataSpell в марте, наша новая IDE для Data Science была доступна для ограниченного числа пользователей, которые помогали нам с тестированием IDE и обратной связью. Сегодня мы запускаем программу раннего доступа для всех желающих. Всем, кто хотел участвовать в программе, придут приглашения. Вы можете скачать свежую EAP-сборку на сайте JetBrains DataSpell (регистрация не требуется). Читать далее

## A Science Experiment: part 2

DevFeed: [A Science Experiment: part 2](<https://devfeed.tech/articles/a-science-experiment-part-2-36242.md>)

Original publisher: [Read original article](<https://berthub.eu/articles/posts/a-science-experiment-part-2/>)

Published: 2021-08-26T12:50:28Z

Content type: article

Language: en

Sources: [Bert Hubert's writings](<https://devfeed.tech/sources/bert-hubert-s-writings.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [dataset](<https://devfeed.tech/topics/dataset.md>), [data](<https://devfeed.tech/topics/data.md>), [Jupyter Notebook](<https://devfeed.tech/topics/jupyter-notebook.md>), [Software](<https://devfeed.tech/topics/software.md>), [jupyter](<https://devfeed.tech/topics/jupyter.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [data](<https://devfeed.tech/tags/data.md>), [database](<https://devfeed.tech/tags/database.md>), [dataset](<https://devfeed.tech/tags/dataset.md>), [dna](<https://devfeed.tech/tags/dna.md>), [experiment](<https://devfeed.tech/tags/experiment.md>), [jupyter](<https://devfeed.tech/tags/jupyter.md>), [jupyter-notebook](<https://devfeed.tech/tags/jupyter-notebook.md>), [science](<https://devfeed.tech/tags/science.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

This second installment describes SkewDB, an open database of GC/TA and other skews across 25,000 bacterial chromosomes, along with open-source software and a Jupyter notebook for exploring it. The author reports tentative findings about Firmicute skew prediction and unusual bacterial chromosome patterns, while emphasizing that the results require scientific review.

### Source excerpt

And we're back! As noted in part 1, there is the possibility I've discovered something interesting in biology. Lacking an academic peer group, I'm using a series of blog posts to gather feedback and to keep myself honest. Because chances continue to be high that as an outsider I am deluding myself. The full backstory can be found in part 1 without which this installment will not make much sense.

## Анонсируем версию Datalore Enterprise для команд Data Science

DevFeed: [Анонсируем версию Datalore Enterprise для команд Data Science](<https://devfeed.tech/articles/datalore-enterprise-data-science-23918.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/JetBrains/articles/566378/>)

Author: alenaguzharina (JetBrains)

Published: 2021-07-06T15:00:01Z

Content type: release

Language: ru

Sources: [JetBrains RU](<https://devfeed.tech/sources/jetbrains-ru.md>)

Topics: [Data Science](<https://devfeed.tech/topics/data-science.md>), [jupyter](<https://devfeed.tech/topics/jupyter.md>), [Python](<https://devfeed.tech/topics/python.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [aws-s3](<https://devfeed.tech/tags/aws-s3.md>), [data-science](<https://devfeed.tech/tags/data-science.md>), [datalore](<https://devfeed.tech/tags/datalore.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [jupyter](<https://devfeed.tech/tags/jupyter.md>), [jupyter-notebooks](<https://devfeed.tech/tags/jupyter-notebooks.md>), [jupyterhub](<https://devfeed.tech/tags/jupyterhub.md>), [jupyterlab](<https://devfeed.tech/tags/jupyterlab.md>), [python](<https://devfeed.tech/tags/python.md>), [tag-055aee430837](<https://devfeed.tech/tags/tag-055aee430837.md>), [tag-752bfc3f8269](<https://devfeed.tech/tags/tag-752bfc3f8269.md>), [tag-baf5012a40ff](<https://devfeed.tech/tags/tag-baf5012a40ff.md>)

### AI overview

JetBrains announces Datalore Enterprise, a version of Datalore designed for Data Science teams. It adds team-oriented capabilities to Jupyter notebooks, including PyCharm code assistance, persistent data storage, authentication, configurable environments, compute-resource management, versioning, real-time collaboration, and AWS S3 integration.

### Source excerpt

Привет, Хабр! Jupyter-ноутбуки хоть и вызывают споры, однако все равно являются самым часто используемым инструментом для решения задач Data Science. Ноутбуки просты в личном использовании. Но если вы когда-либо пробовали организовать командную работу с ними, то наверняка сталкивались со сложностями. Именно поэтому мы в JetBrains решили выпустить специальную версию Datalore Enterprise для команд Data Science! Читать далее

## From YAGNI to YDNIY

DevFeed: [From YAGNI to YDNIY](<https://devfeed.tech/articles/from-yagni-to-ydniy-20994.md>)

Original publisher: [Read original article](<https://codewithoutrules.com/2020/09/18/ydniy/>)

Author: Itamar Turner-Trauring

Published: 2020-09-18T00:00:00Z

Content type: tutorial

Language: en

Sources: [Itamar Turner-Trauring](<https://devfeed.tech/sources/itamar-turner-trauring.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Conda](<https://devfeed.tech/topics/conda.md>), [jupyter](<https://devfeed.tech/topics/jupyter.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [pip](<https://devfeed.tech/topics/pip.md>), [data](<https://devfeed.tech/topics/data.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>)

Tags: [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [conda](<https://devfeed.tech/tags/conda.md>), [jupyter](<https://devfeed.tech/tags/jupyter.md>), [jupyter-notebooks](<https://devfeed.tech/tags/jupyter-notebooks.md>), [linux](<https://devfeed.tech/tags/linux.md>), [macos](<https://devfeed.tech/tags/macos.md>), [python](<https://devfeed.tech/tags/python.md>), [releases](<https://devfeed.tech/tags/releases.md>)

### AI overview

The article introduces YDNIY, or "You Don't Need It Yet," as a complement to YAGNI. It argues that features that are necessary but not release blockers can be delayed when a product remains useful without them. The author illustrates this with the staged development of the Python memory profiler Fil across Linux, macOS, Jupyter, Conda, and multiple memory-allocation APIs.

### Source excerpt

How do you ship a product on schedule? One useful approach is applying the You Ain't Gonna Need It principle, or YAGNI for short: leave out all the things that seem nice-to-have, but you have no proof you actually need. But beyond the things you don't need, there are still plenty of features you pretty clearly do need... but are not blockers on releasing your product. So beyond YAGNI, there's also YDNIY: You Don't Need It Yet. Let's see an example of this principle in practice, visualize the principle as a flowchart, and then compare it to another popular acronymed concept, the Minimum Viable Product. A real world example: shipping a new memory profiler In March 2020 I shipped the initial release of a new memory profiler for Python, Fil. Here's how it changed over time in terms of features, from May to August 2020: 0.3.0, initial release: Installable via pip packaging tool, runs only on Linux, only profiles complete program runs. 0.3.3: Support for an additional memory allocation API. 0.4.0: Support for out-of-memory situations. 0.5.0: macOS support. 0.6.0: Support for mmap() allocation API. 0.7.0: Support for C++ memory allocation API. 0.9.0: Much faster and lower overhead in some use cases, added support for yet another memory allocation API. 0.10.0: Support for running inside Jupyter notebooks, and native support for installing via the Conda packaging tool. All of the features I added in later releases were clearly necessary from the start; YAGNI did not apply. Lots of people use macOS, the target audience of data scientists and scientists often use Conda and Jupyter, all those memory allocation APIs are used in the real world, and so on. But even a tool that only runs complete programs on Linux, and only tracks the most popular memory allocation APIs, is still useful to some people. If I had waited until all those features were implemented to ship an initial release, all the people who used the profiler during the first four months of its existence would have had

## Using Python and OCaml in the same Jupyter notebook

DevFeed: [Using Python and OCaml in the same Jupyter notebook](<https://devfeed.tech/articles/using-python-and-ocaml-in-the-same-jupyter-notebook-20223.md>)

Original publisher: [Read original article](<https://blog.janestreet.com/using-python-and-ocaml-in-the-same-jupyter-notebook/>)

Author: Laurent Mazare

Published: 2019-12-16T00:00:00Z

Content type: tutorial

Language: en

Sources: [Jane Street](<https://devfeed.tech/sources/jane-street.md>)

Topics: [OCaml](<https://devfeed.tech/topics/ocaml.md>), [Python](<https://devfeed.tech/topics/python.md>), [Jupyter Notebook](<https://devfeed.tech/topics/jupyter-notebook.md>), [jupyter](<https://devfeed.tech/topics/jupyter.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [NumPy](<https://devfeed.tech/topics/numpy.md>)

Tags: [jupyter](<https://devfeed.tech/tags/jupyter.md>), [jupyter-notebook](<https://devfeed.tech/tags/jupyter-notebook.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [modules](<https://devfeed.tech/tags/modules.md>), [ocaml](<https://devfeed.tech/tags/ocaml.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

A technical tutorial on running Python and OCaml code in the same Jupyter notebook. It explains how Jane Street uses pyml, OCaml bindings to the Python C API, plus a ppx extension and library to create bindings, exchange values, and reuse OCaml systems from Python workflows.

### Source excerpt

The cover image is based on Jupiter family by NASA/JPL.