Comments (4)
Working on this and making some great progress. This was easier than I thought and managed to replicate timedelta parsing quite fine (should not break anything unless you have used really odd strings).
I think we could replace pd.Timestamp
with python-dateutil which has quite OK datetime parser.
from rocketry.
It seems three things need to be somewhat replaced that are currently used from Pandas:
pd.Interval
(used in redengine/core/time/base.py & redengine/core/time/interval.py)pd.Timedelta
(used redengine/session.py, redengine/core/task.py, multiple places in redengine/time)pd.Timestamp
(used in redengine/pybox/query/base.py, redengine/core/time/base.py & redengine/core/time/interval.py)
Interval could be replaced with a simple custom class or so. I think it is used only to check if a time is inside the interval (after or equal to left, before or equal to right). Seems Pandas' solution is in Cython but I don't think this is a performance matter.
Timedelta is probably the hardest bit. We need a better timedelta parser than provided by most libraries. Possibly creating one own to make it work exactly right. Pandas' solution is in Cython but it probably complicates building if it is directly copied. Seems the parsing is possibly here pandas/_libs/tslibs/timedeltas.pyx
Timestamp There might be some places where a string can be passed and parsed. Perhaps dateutil could be an option.
from rocketry.
ππ» for removing both Pandas and Numpy. These dependencies dont play well with Alpine and require compiling them to use them.
from rocketry.
Great to hear!
from rocketry.
Related Issues (20)
- BUG: Support synchronous libraries in tasks when executing in process or thread HOT 3
- BUG crashed in pickling HOT 3
- SQL repository raises error on async task HOT 2
- Mypy and type hints HOT 1
- BUG Literal is incompatible with "NotSet"
- BUG Argument of type "Literal['daily_notification']" cannot be assigned to parameter "task_names" of type
- DOCS? - Restore Session
- Task is only run once, but it should run every 10s HOT 1
- Scheduler stops after one task is erroring out HOT 1
- BUG - Retry within one hour if task is missed but the task is new
- Scheduler donΒ΄t run after_success(fuc) after some time. HOT 2
- @app.task('daily.at("21:00") before Friday') HOT 1
- @app.task(daily.between("08:00", "20:00") & every("10 minutes")) HOT 3
- Passing a mongoclient to MongoRepo does not work. Rocketry.run() fails. HOT 1
- ENH - API for viewing the task queue HOT 1
- Add tasks during runtime HOT 1
- TypeError: issubclass() arg 1 must be a class HOT 2
- ENH - Downtime recovery (persistance, crash recovery, process restart)
- ENH - Change task schedule on fly
- Warning error 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 rocketry.