Giter Site home page Giter Site logo

fbruzzesi / iso-week-date Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 0.0 944 KB

Toolkit to work with str representing ISO Week date format

Home Page: https://fbruzzesi.github.io/iso-week-date/

License: MIT License

Makefile 0.94% Python 99.06%
datetime iso-8601 isoweek python

iso-week-date's Introduction

👋 Hi there, I'm Francesco

🦸‍♂️ About me

I am a data scientist with 5+ years of experience, a mathematician by training, a passionate learner and an open source enthusiast.

I have in depth experience working on tabular data, time series, Bayesian statistic and mathematical optimization. I tend to prefer simple, scalable and understandable solutions as opposed to over-complex models when not necessary to bring value.

💼 Employer

  • Currently, I am a data scientist at HelloFresh🍋 in Berlin office.
  • Previously I worked a senior data scientist at Edison⚡ one of the leading Italian electric utility company. Here I was involved maily on mid and down stream projects on tabular data, time series, anomaly detection, and optimization.

💻 OSS and side projects

When I have some spare time on weekends I maintain few projects:

  • scikit-lego: since Sept. 2023 I am a maintainer of the project. The goal of the package is to allow to joyfully build new building blocks that are scikit-learn compatible. scikit-lego has 30k+ downloads a month
  • ISO Week Date: iso-week-date is a toolkit to work with strings representing ISO Week date in two formats: week YYYY-WNN and week date YYYY-WNN-D.
  • Timebasedcv: a python library that provides a cross validation strategies based on actual datetime values instead of indexes, of course compatible with scikit-learn cross validation API.
  • Compclasses: a python utility library to simplify composition (over inheritance).
  • Deczoo: a zoo for python decorators, a collection of decorators used on a daily basis.
  • Webapps (Also open source):
    • ATP Stats is a webapp providing tennis analytics and insights in a more colorful and intuitive manner with respect to the official ATP Tour.
    • Tabular Data Annotator a webapp to bulk label tabular data from a csv.

Both webapps are developed using python dash framework and deployed on heroku I need to migrate them to another hosting platform.

📫 How to reach me

The best way it to find me on linkedin.

🔧 Tech stack

  


                


             

iso-week-date's People

Contributors

dependabot[bot] avatar fbruzzesi avatar github-actions[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

iso-week-date's Issues

(iso) quarter property

As in tableau, (iso) quarter should be quite easy to implement

  • Q1 is W01 - W13
  • Q2 is W14 - W26
  • Q3 is W27 - W39
  • Q4 is W40 -W52/W53

IsoWeekDate

Class to work with ISO Week date format "YYYY-WNN-D"

Check for W53

Write a method to validate if a given year has 52 or 53 weeks

Make validation step optional

Validation step is not needed in a series of operations (e.g. __add__) and just slows down the instance creation.

regex enhancement

Improve regex logic to avoid additional validation after matching

Docs (continuous) update

List of features missing from the docs:

  • from_values and to_values week classes methods
  • datetime_to_isoweekdate and isoweekdate_to_datetime (dataframe utils)

Polars utils

Add polars utils mimicking pandas utils module

Adopt Narwhals

Description

Migrating to narwhals would:

  • Allow to maintain one frame codebase instead of 2
  • Enlarge the set of supported dataframe backend
  • Possibly test narwhals features and reason about narwhals#267

Proper version checking

Description

Currently checking for extra libraries (i.e. pandas, polars, and pydantic) is only done as

try:
    import module_name
except ImportError:
    raise ...

however, the module could be available but the version not satisfy the min requirement if not installed with iso-week-date directly.

We need a better way of checking available version(s).

Entrypoint?

Consider adding cli entrypoint for

  • range
  • weeksout

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.