{"id":24712,"library":"timple","title":"Timple","description":"A Python library that extends Matplotlib's plotting capabilities for timedelta-like values, providing custom tick locators and formatters for intuitive axis formatting. Version 0.1.8 supports Python >=3.7 and is actively maintained.","status":"active","version":"0.1.8","language":"python","source_language":"en","source_url":"https://github.com/theOehrly/Timple","tags":["matplotlib","timedelta","plotting","time series","pandas"],"install":[{"cmd":"pip install timple","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Core integration with Matplotlib's axis formatter and locator API","package":"matplotlib","optional":false},{"reason":"Required for converting Pandas Timedelta and NaT objects","package":"pandas","optional":false},{"reason":"Used for array operations and compatibility","package":"numpy","optional":false}],"imports":[{"wrong":"from timple import TimedeltaConverter","symbol":"Timple","correct":"from timple import Timple"},{"symbol":"timedelta","correct":"from timple import timedelta"},{"symbol":"core","correct":"from timple import core"}],"quickstart":{"code":"import matplotlib.pyplot as plt\nimport pandas as pd\nfrom timple import TimedeltaConverter\n\n# Create a simple timedelta series\ntimes = pd.to_timedelta(['00:00:00', '00:01:30', '00:03:00', '00:04:30'])\nvalues = [1, 2, 3, 4]\n\nfig, ax = plt.subplots()\nax.plot(times, values)\n\n# Apply Timple converter\nTimedeltaConverter(times).apply(ax.xaxis)\n\nax.set_xlabel('Time')\nax.set_ylabel('Value')\nplt.show()","lang":"python","description":"Plot timedelta data with automatic axis formatting."},"warnings":[{"fix":"Use TimedeltaConverter(timedelta_data).apply(axis_object) where axis_object is an Axes.xaxis or Axes.yaxis.","message":"Timple converters only work with ax.xaxis or ax.yaxis, not directly with plt.xticks(). Apply the converter to the desired axis instance.","severity":"gotcha","affected_versions":"all"},{"fix":"Upgrade to timple>=0.1.6 or convert to numpy array with np.array(your_list).","message":"Passing a list or tuple of Pandas Timedelta objects can cause crashes in versions prior to 0.1.6. Ensure you use NumPy array or Pandas Series.","severity":"gotcha","affected_versions":"<0.1.6"},{"fix":"Use ticker_concise or formatter_concise directly instead.","message":"The argument 'concise' was deprecated in v0.1.1 in favor of separate locators/formatters. Avoid passing concise=True to the converter.","severity":"deprecated","affected_versions":">=0.1.1"},{"fix":"Upgrade to timple>=0.1.2 or drop NaT with times.dropna() if using Pandas Series.","message":"When using Pandas NaT values, converters may fail on older versions (before 0.1.2). Upgrade or drop NaT values before plotting.","severity":"gotcha","affected_versions":"<0.1.2"},{"fix":"Upgrade to timple>=0.1.6 or avoid using masked arrays.","message":"Masked arrays introduced in Matplotlib 3.7.0 are only supported from timple 0.1.6 onwards. Plotting masked timedelta data with earlier versions will crash.","severity":"gotcha","affected_versions":"<0.1.6"}],"env_vars":null,"search_vec":"'0.1.8':27 '3.7':30 'activ':33 'axi':24 'capabl':10 'custom':17 'extend':6 'format':25 'formatt':21 'intuit':23 'librari':4 'like':14 'locat':19 'maintain':34 'matplotlib':7,35 'panda':40 'plot':9,37 'provid':16 'python':3,29 'seri':39 'support':28 'tick':18 'time':38 'timedelta':13,36 'timedelta-lik':12 'timpl':1 'valu':15 'version':26","created_at":"2026-05-01T08:14:31.696272+00:00","updated_at":"2026-05-01T08:14:31.696272+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"0.1.8","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/theOehrly/Timple","docs":null,"changelog":null,"pypi":"https://pypi.org/project/timple/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["data","ai-ml"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}