pint VS barril

Compare pint vs barril and see what are their differences.

pint

Operate and manipulate physical quantities in Python (by hgrecco)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
pint barril
9 2
2,264 36
- -
9.0 7.3
5 days ago 16 days ago
Python Python
GNU General Public License v3.0 or later MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

pint

Posts with mentions or reviews of pint. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-03.

barril

Posts with mentions or reviews of barril. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-04.
  • Pint: Makes Units Easy -Python
    4 projects | news.ycombinator.com | 4 Sep 2021
    Internally the library has a "quantity type", which defines for a given quantity all the given conversions that are valid in the database and a "category" which is used so that you can create subsets of units which you want to consider valid for your application.

    It's helpful in the context that you want to restrict what's valid for such a category (see: https://github.com/ESSS/barril/blob/master/src/barril/units/... for what that means -- think of defining a "cylinder width" as a subset of "length").

    As a note, it's main use-case is NOT doing computations such as dividing/multiplying Scalars (albeit that's supported it does have some caveats -- so, while it also does dimensional analysis, it's really not the core functionality), rather the core functionality is making the conversions based on what's available in the unit database (so, you're not supposed to be creating units out of the unit database, rather, you want to collect input from the units you support and then make your conversions to other units you still support -- think of doing validation of input, converting to values in units expected by the user, defining a unit-system for input, converting to your internal unit-system for actual computation in C/C++, ...).

    So, I guess it depends on what you consider as core for a units library. As I mentioned, it's created for an Oil & Gas use-case -- albeit it's also used in other engineering-related projects -- where the units are all pretty much well mapped in the application and you're worried that you are getting into units you're not expecting and that'd actually be an error.

    p.s.: if you have specific use-cases which don't work as you expect, I suggest contacting the library maintainers -- once that was me, but it's been a while ;)

    p.s.: thanks for letting me know about how to deal with dimensionless units in pint (I wasn't aware of that).

What are some alternatives?

When comparing pint and barril you can also consider the following projects:

astropy - Astronomy and astrophysics core library

pint - Laravel Pint is an opinionated PHP code style fixer for minimalists.

SymPy - A computer algebra system written in pure Python

misura - Python library providing effortless unit handling and currency conversion for scientific and engineering purposes.

QuTiP - QuTiP: Quantum Toolbox in Python

quantulum3 - Library for unit extraction - fork of quantulum for python3

Unchained - A fully type safe, compile time only units library.

scinumtools - Essential tools for numerical scientific calculations, simulations and data analysis. Besides several useful tools, this package is featuring expression solver, physical units, material properties and dimensional input parameter modules.

transformers - 🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.

TheAlgorithms - All Algorithms implemented in Python