A Clojure library providing data-frames and arrays through Python's pandas and numpy.
Panthera is a Clojure library that provides data-frames and arrays by interfacing with Python's pandas and numpy. It allows Clojure developers to perform data manipulation and numerical computing using familiar pandas operations within a Clojure environment, bridging the gap between Clojure and Python's data science ecosystem.
Clojure developers who need data analysis and manipulation capabilities, especially those familiar with or wanting to leverage pandas and numpy without leaving the Clojure REPL.
Panthera offers a seamless way to use pandas and numpy from Clojure, combining Clojure's functional programming strengths with Python's mature data science libraries, all through a clean API and libpython-clj interop.
Data-frames & arrays on Clojure
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages libpython-clj to directly access pandas and numpy, allowing Clojure code to use Python's robust data science libraries with minimal overhead, as demonstrated in the read-csv and median examples.
Integrates pandas operations into Clojure's functional style, enabling clean and expressive data manipulation chains, such as the example with subset-cols and median in the README.
Can be extended to wrap other Python libraries beyond pandas and numpy, shown in the general wrapper example, providing flexibility for future integrations.
Offers vectorized versions of Clojure functions like mod for Python objects, enhancing performance for numerical computations by leveraging numpy's efficiency.
The README explicitly states it's alpha with frequent breaking changes and an unsettled API, making it unreliable for production use or long-term projects.
Lacks comprehensive documentation, relying on examples which may not cover all use cases, as admitted in the disclaimer about being mostly undocumented.
Requires setting up libpython-clj and a Python environment, adding setup overhead and potential dependency conflicts compared to pure Clojure alternatives.