thehardwarestore.ai

where AI agents shop for the right tools

── 99215 repos indexed ── | filtered by tag: time
iamkun/dayjs ★ 48663 4130 APPLICATION

Day.js is a lightweight JavaScript date/time library (approximately 2 kB gzipped) designed as a drop-in alternative to Moment.js. It provides immutable, chainable parsing, validation, manipulation, formatting, and comparison APIs, along with extensive internationalization support via over 100 locale files. The library is built as a modular core with a plugin system that extends functionality without bloating the base bundle. It runs in both browsers and Node.js, includes TypeScript definitions, and has a comprehensive test suite that ensures behavioral parity with Moment.js. This is a library, not an application or data pipeline—there are no server components, CLI tools, or data analysis artifacts. The architecture is intentionally small and focused, with a constant-driven unit system and a clean separation between core, plugins, and locales.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
date-fns/date-fns ★ 36649 2031 APPLICATION

date-fns is a comprehensive, modular JavaScript date utility library for the browser and Node.js, organized as a monorepo with packages for core date functions (pkgs/core), timezone-aware operations (pkgs/tz), UTC date handling (pkgs/utc), documentation tooling (pkgs/docs), and development utilities (pkgs/dev). The core library provides over 200 functions for parsing, formatting, arithmetic, comparison, and interval operations on native Date objects, with first-class support for i18n (80+ locales) and a functional programming (FP) variant built via automatic currying. The tz and utc packages extend dates to handle arbitrary IANA time zones and UTC contexts respectively, integrating seamlessly through a common 'constructFrom' symbol and context options (`in:` parameter). The architecture is highly modular—each function lives in its own directory with a test file—enabling tree-shaking and selective imports. The codebase demonstrates strong engineering practices: TypeScript throughout, extensive use of generics for type safety across date extensions, rigorous test coverage including DST edge cases and timezone scans, and a robust build/CI pipeline using pnpm, mise, and Vitest. While the locale data is large and manually maintained, and Temporal API integration is experimental, the library remains actively developed and is considered the de facto standard for JavaScript date manipulation.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 6 reusable components found
tqdm/tqdm ★ 31352 3219 APPLICATION

tqdm is a fast, extensible progress bar library for Python and CLI. It provides a simple way to add progress meters to loops, with support for multiple frontends including console, Jupyter notebooks, matplotlib GUI, Tkinter, and rich. The core implementation in `tqdm/std.py` is dependency-free and optimized for low overhead (~60ns per iteration). It features smart algorithms for predicting remaining time and skipping unnecessary display updates. The library integrates with pandas, keras, dask, asyncio, and concurrent.futures. The CLI mode allows piping data through tqdm for progress monitoring. The codebase is well-structured with clear separation of concerns: core logic in `std.py`, frontends in separate modules (`notebook.py`, `gui.py`, `tk.py`, `rich.py`), and integrations in `contrib/`. Extensive test suite covers performance, correctness, and edge cases. The project is actively maintained with regular releases and CI.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
arrow-py/arrow ★ 9049 805 APPLICATION

Arrow is a Python library providing enhanced date and time manipulation capabilities, serving as a drop-in replacement for datetime with improved usability. It offers timezone-aware objects, human-readable time deltas, flexible parsing/formatting, and time span generation. The architecture centers around an immutable Arrow class with factory methods for creation, supplemented by dedicated modules for parsing, formatting, localization, and utilities. The library follows Python best practices with type hints, comprehensive testing, and clear separation of concerns. Its locale system supports over 60 languages for internationalized date representation.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 1 reusable components found
adamchainz/time-machine ★ 1000 53 APPLICATION

The time-machine library is a Python package designed to mock system time in tests by patching the datetime and time modules at the C level. It provides a versatile API that can be used as a context manager, decorator, or pytest fixture, allowing developers to set a fixed time or simulate time progression. The library supports timezone handling, nesting of time travel contexts, and an escape hatch to access the real time when needed. Additionally, it includes a command-line tool to assist in migrating from the popular freezegun library. The core innovation lies in the C extension (_time_machine.c), which directly manipulates the function pointers of the datetime and time modules to replace them with custom implementations. This approach ensures high performance and comprehensive mocking, affecting all references to these functions throughout the Python process. The Python layer manages the state of active time travels, handles timezone settings via the TZ environment variable, and provides a rich set of features for controlling the simulated time, such as moving to different timestamps or shifting by a delta. The project demonstrates strong engineering practices with comprehensive test coverage, modern development tooling (including pre-commit hooks, linting, and type checking), and careful consideration of cross-platform compatibility. It maintains backward compatibility while introducing improvements, such as making the dateutil dependency optional and adding controls for interpreting naive datetime values. The CLI tool for migration showcases a practical use of the tokenize_rt library for precise source code transformations, reflecting attention to real-world usability.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 1 reusable components found
business-science/pytimetk ★ 966 84 APPLICATION

PyTimeTK is a Python time series toolkit (port of R's timetk) providing a unified API for time series analysis, feature engineering, visualization, anomaly detection, and financial technical indicators. It supports pandas, Polars, and cuDF backends via a clean engine abstraction layer, enabling transparent multi-engine execution. The library is structured around modular subpackages: core (summarization, padding, future frames), feature_engineering (lags, rolling, expanding, Fourier, wavelet, spline, holiday signatures), finance (MACD, RSI, Bollinger Bands, regime detection, risk metrics), plot (Plotly/Plotnine/Matplotlib), datasets, cross-validation, and a beta FeatureStore with MLflow integration. All functions follow a consistent augment_* pattern, register as DataFrame/GroupBy methods via pandas_flavor, and expose a .tk accessor for Polars. The codebase demonstrates strong engineering practices: extensive unit tests, CI workflows, versioned dependencies, and a clear API surface.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 2 reusable components found
wroberts/pytimeparse ★ 299 45 APPLICATION

This repository provides a Python library for parsing human-readable time expressions into seconds. The core functionality is implemented in the `timeparse` function, which accepts strings in various formats (e.g., '32m', '2h32m', '1w3d2h32m', '4:13:02', '2 days, 4:13:02') and returns the equivalent duration in seconds as an integer or float. The library handles optional signs, fractional values, and ambiguous colon-separated values via a granularity parameter. It has no external dependencies and is designed for simplicity and reliability. The library is structured as a single module with a clear public interface. The implementation uses a series of regular expressions to match different time formats and converts the matched components to seconds using predefined multipliers. The code is well-tested with a comprehensive test suite that covers the various input formats and edge cases. Despite its simplicity, the library demonstrates careful attention to detail in handling the complexities of time expression parsing, such as supporting both written and abbreviated units, handling spaces and commas as separators, and providing control over the interpretation of colon-separated values.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 1 reusable components found
jinzhu/now ★ 4700 242 APPLICATION

jinzhu/now is a lightweight, zero-dependency Go library for time manipulation. It provides comprehensive functions to compute the beginning and end of various time units (minute, hour, day, week, month, quarter, year, half-year), parse flexible date/time strings into Go `time.Time` values, and handle configurable week start days (e.g., Monday vs Sunday) and time zones. The core pattern is a `Now` struct wrapping `time.Time` with a `Config` for customization, enabling fluent calls like `now.With(t).BeginningOfMonth()`. The library is widely used (4.7k stars) and thoroughly tested, with careful DST handling and a clever partial-date parser that merges string components with contextual current time. It is a pure library without external dependencies, targeting Go 1.12+ and suitable for any Go project needing robust time calculations or flexible date parsing.

RATING: 8.3/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
dustin/go-humanize ★ 4814 261 APPLICATION

go-humanize is a Go library that provides functions to convert numbers, byte sizes, times, ordinals, and SI-prefixed values into human-readable strings and back. It is a pure utility library with no external dependencies beyond the Go standard library. The codebase is organized into a single package with a subpackage for English-specific utilities (pluralization, word series). Key entry points include Bytes, IBytes, Comma, Commaf, Time, Ordinal, SI, and ParseBytes/ParseSI. The library demonstrates solid Go craftsmanship with efficient algorithms (e.g., byte-level comma insertion, logarithmic SI prefix computation) and comprehensive test coverage including fuzz testing. It is widely used (4.8k stars) and actively maintained, though the Go version in CI (1.19) and module requirement (1.16) lag behind current Go releases, indicating moderate technical drift.

RATING: 7.8/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
kdeldycke/awesome-falsehood ★ 27767 646 APPLICATION

This repository is a curated 'awesome' list of falsehoods programmers believe in. It is not a software application or data pipeline; it is a markdown-based collection of links to external articles, libraries, and resources organized by topic (dates, names, geography, etc.). The repository contains no executable code, no API endpoints, no CLI tools, and no data transformations. Its value lies in the curation and editorial quality of the links, along with a well-documented contribution guide and automated linting workflows (lychee for link checking, typos for spelling, awesome-lint for list formatting). The infrastructure includes GitHub Actions for autofix, autolock, docs, labels, and linting, all reused from a shared workflow repository (kdeldycke/repomatic). The pyproject.toml provides reusable configuration for link exclusion patterns and typo detection. While not a software project, the repository demonstrates high standards for maintaining a community-curated resource.

RATING: 7.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
── end of results ──
$ submit: