# Julia (standard) library vs. Python's (standard) library or Java's

**URL:** <https://discourse.julialang.org/t/julia-standard-library-vs-pythons-standard-library-or-javas/122877>\
**Category:** General Usage\
**Created:** [November 21, 2024, 12:29am UTC](https://discourse.julialang.org/t/julia-standard-library-vs-pythons-standard-library-or-javas/122877 "2024-11-21T00:29:33Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)\
**Post date:** [November 21, 2024, 12:29am UTC](https://discourse.julialang.org/t/julia-standard-library-vs-pythons-standard-library-or-javas/122877/1 "2024-11-21T00:29:33Z")

</div>

Famously Python has or had batteries included, but they have dropped a lot of modules/“dead batteries”:

> **[PEP 594 – Removing dead batteries from the standard library | peps.python.org](https://peps.python.org/pep-0594/#modules-to-keep)**
>
> This PEP proposed a list of standard library modules to be removed from the standard library. The modules are mostly historic data formats (e.g. Commodore and SUN file formats), APIs and operating systems that have been superseded a long time ago...

They actually needed to have more in their standard library, at some point, now less of a need with package managers, also no strict need to match Python’s or Java’s in Julia’s standard library. I’m thinking of matching Python 3.13 after the purge there (or see that list if you find it interesting, what matches some alternative there).

Note you always can use just PythonCall.jl I’m just thinking if you prefer not, and neither to call Java or some other language with extensive/good library, directly, without a Julia wrapper.

But I’m thinking were do we find all matching libraries? Or any up-to-date list?

E.g. it was proposed to deprecate Python’s wave library, but not done since it was considered an important use case for kids to have easy access to in the standard library. I would like to know of a very good cross-platform library that doesn’t need to fork its own process. Would also be great to have some analog capability emulation, to not to have to make your own files, and support more than just stereo.

What are the best Julia counterpart, and where to you actually find the list of modules/batteries in Python?

Python had an unordered dict, and changed to ordered by default, a long time ago. That’s one OrderedCollections.jl to match Python, and it should be the default for many. Where do you find all the data structures Python and Java have?

I would also like to know if we have equivalent but it’s slower, or less featureful. E.g. I think printing might be faster in Python…

I believe we have all corresponding basic OS-related libraries, e.g. for async and threads, and shelling out. I don’t really care about all such as for telnet… what are your favorite perceived missing libraries in Julia’s stdlib?

Julia emulated path (non) API of Python, then Python got a better path API. Re have an equivalent available, but I’m not sure most use it or are aware of it.

I think first having the list, then in some central location, ideally in Julia’s docs would be good.

---

<div class="post-metadata">

**Author:** ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)\
**Post date:** [March 18, 2025, 8:58am UTC](https://discourse.julialang.org/t/julia-standard-library-vs-pythons-standard-library-or-javas/122877/2 "2025-03-18T08:58:33Z")

</div>

Do people here feel Julia’s standard library PLUS some packages are a good substitute for all of Python’s standard library? What functionality from it do you most miss in Julia, if any?And note it’s always expanding e.g:

> **[What’s new in Python 3.14](https://docs.python.org/3.14/whatsnew/3.14.html#mimetypes)**
>
> Editor, TBD,. This article explains the new features in Python 3.14, compared to 3.13. For full details, see the changelog. Summary – release highlights: PEP 649: deferred evaluation of annotations...

E.g. added MIME types for fonts and video formats (and audio; audio support seems to be a down-side in Julia) and:

> - Add support for UUID versions 6, 7, and 8 via uuid.uuid6(), uuid.uuid7(), and uuid.uuid8() respectively, as specified in RFC 9562. (Contributed by Bénédikt Tran in gh-89083.)
> - uuid.NIL and uuid.MAX are now available to represent the Nil and Max UUID formats as defined by RFC 9562.

E.g. CopyComPointer, i.e. some support is platform-specific (though I’m mostly thinking of cross-platform features):

> **[ctypes — A foreign function library for Python](https://docs.python.org/3.14/library/ctypes.html#ctypes.CopyComPointer)**
>
> Source code: Lib/ctypes ctypes is a foreign function library for Python. It provides C compatible data types, and allows calling functions in DLLs or shared libraries. It can be used to wrap these ...

> Availability: Windows  
> Added in version 3.14.
