Git Product home page Git Product logo

Comments (5)

carterbox avatar carterbox commented on June 26, 2024 1

I will submit a PR.

from humanize.

carterbox avatar carterbox commented on June 26, 2024

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.

hugovk avatar hugovk commented on June 26, 2024

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.

phijor avatar phijor commented on June 26, 2024

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.

hugovk avatar hugovk commented on June 26, 2024

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:

warnings.warn(
"VERSION is deprecated and will be removed in humanize 4.0. "
"Use __version__ instead, available since humanize 1.0 (Feb 2020).",
DeprecationWarning,
stacklevel=2,
)

And add something like "Deprecated, will be removed in humanize 4.0." to the parameter's docstring.

from humanize.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.