Comments (5)
I will submit a PR.
from humanize.
I suspect that the when
parameter exists because naturaltime()
was implemented first, and the API was just copied to naturaldelta()
even though when
is not appropriate in the later.
from humanize.
The when
parameter was added to both naturaltime()
and naturaldelta()
at the same time, in #144 by @phijor.
Accepting a datetime
was intentional:
- both methods may now be used with
datetime
objects that are not in the local timezone
So let's update the docs? @phijor Any thoughts?
from humanize.
Accepting datetime
was done intentionally, but tbf I'm not entirely sure whether that was a good idea?
I agree that the when
-parameter does not make a lot of sense for naturaldelta()
. It is only there to make sure naturaltime
can be implemented in terms of it.
Maybe the details of both functions should be put in a (private) function as an implementation detail, and when=
should be removed from naturaldelta
. If the behaviour was never specified, is counter-intuitive and leads to issues I'd argue it's not a breaking change to remove it.
Comparing my own use-cases with @carterbox's example, I think computing your own timedelta
should be encouraged.
from humanize.
We have a major version coming out soon anyway to drop Python 3.6 (#239), so let's deprecate when=
first and release it, even if it's not long until it's removed.
Would one of you like to submit a PR to deprecate it?
Let's show a warning when if when:
is true, something along the lines of:
humanize/src/humanize/__init__.py
Lines 40 to 45 in 49f2cd1
And add something like "Deprecated, will be removed in humanize 4.0." to the parameter's docstring.
from humanize.
Related Issues (20)
- Generate files during built process HOT 1
- Allow to specify gender for ordinals
- Humanize
- Importing humanize is slow HOT 9
- Translation activation does not work because of missing .mo files HOT 3
- 3.7.1: pytest is failing HOT 3
- Installing from source installs humanize with version = 0.0.0 HOT 4
- Incorrect precisedelta() calcualation HOT 6
- 3.11.0: pytest cannot find locale files during the tests HOT 1
- Documentation shows private functions HOT 6
- Test on Python 3.10.0 final HOT 8
- Use another augmented assignment statement HOT 1
- humanize raises DeprecationWarning upon import HOT 3
- humanize overflows before datetime does HOT 11
- Short scale instead of long scale for Polish locale HOT 2
- Issues with odd months when restricting to "day" precision HOT 1
- Single letter instead of, e.g. "million"? HOT 1
- Test issue
- Test issue 2 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from humanize.