pysolmeters
============
Welcome to pysol
Copyright (C) 2013/2025 Laurent Labatut / Laurent Champagnac
pysolmeters is a set of python helpers to populate and get counters, anywhere in the code.
It can be used to instrument low-level APIs and validate stuff with unit testing or push counters toward some monitoring softwares.
Internally, it uses AtomicIntSafe, AtomicFloatSafe and DelayToCountSafe classes, wrapped by a static class Meters, which exposes helper methods.
Usage
===============
To increment integers and floats :
```
Meters.aii("int_counter")
Meters.afi("float_counter")
```
To get integers and floats :
```
vi = Meters.aig("int_counter")
vf = Meters.afg("float_counter")
```
To put millis toward DelayToCount :
```
Meters.dtci("dtc1", 0.5)
```
To get DelayToCount instance
```
dtc1 = Meters.dtcg("dtc1")
```
To write all counters to logger :
```
Meters.write_to_logger()
```
To reset all counters :
```
Meters.reset()
```
Raw data
{
"_id": null,
"home_page": "https://github.com/champax/pysolmeters",
"name": "pysolmeters",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": "Laurent Labatut <laurent@labatut.net>, Laurent Champagnac <champagnac.laurent@gmail.com>",
"keywords": "python, gevent",
"author": "Laurent Champagnac",
"author_email": "Laurent Labatut <laurent@labatut.net>, Laurent Champagnac <champagnac.laurent@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/e2/ae/542341da1767e4424afdce3aeb29aea1a96d88fac6ffd2ba95096702ee84/pysolmeters-3.13.3.tar.gz",
"platform": null,
"description": "pysolmeters\n============\n\nWelcome to pysol\n\nCopyright (C) 2013/2025 Laurent Labatut / Laurent Champagnac\n\npysolmeters is a set of python helpers to populate and get counters, anywhere in the code.\n\nIt can be used to instrument low-level APIs and validate stuff with unit testing or push counters toward some monitoring softwares.\n\nInternally, it uses AtomicIntSafe, AtomicFloatSafe and DelayToCountSafe classes, wrapped by a static class Meters, which exposes helper methods.\n\nUsage\n===============\n\nTo increment integers and floats :\n\n```\nMeters.aii(\"int_counter\")\nMeters.afi(\"float_counter\")\n```\n\nTo get integers and floats :\n\n```\nvi = Meters.aig(\"int_counter\")\nvf = Meters.afg(\"float_counter\")\n```\n\nTo put millis toward DelayToCount :\n\n```\nMeters.dtci(\"dtc1\", 0.5)\n```\n\nTo get DelayToCount instance\n\n```\ndtc1 = Meters.dtcg(\"dtc1\")\n```\n\nTo write all counters to logger :\n\n```\nMeters.write_to_logger()\n```\n\nTo reset all counters :\n\n```\nMeters.reset()\n```\n\n",
"bugtrack_url": null,
"license": null,
"summary": "pysolmeters",
"version": "3.13.3",
"project_urls": {
"Homepage": "https://github.com/champax/pysolmeters",
"Repository": "https://github.com/champax/pysolmeters"
},
"split_keywords": [
"python",
" gevent"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e2ae542341da1767e4424afdce3aeb29aea1a96d88fac6ffd2ba95096702ee84",
"md5": "793b76d0b94d78011509e0c8563236a9",
"sha256": "175bc734e935121586a3a151b464b459810e7a283033fa05d09075aa4fd76a83"
},
"downloads": -1,
"filename": "pysolmeters-3.13.3.tar.gz",
"has_sig": false,
"md5_digest": "793b76d0b94d78011509e0c8563236a9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 22398,
"upload_time": "2025-09-10T09:36:16",
"upload_time_iso_8601": "2025-09-10T09:36:16.923215Z",
"url": "https://files.pythonhosted.org/packages/e2/ae/542341da1767e4424afdce3aeb29aea1a96d88fac6ffd2ba95096702ee84/pysolmeters-3.13.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-10 09:36:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "champax",
"github_project": "pysolmeters",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "pysolbase",
"specs": [
[
">=",
"3.13.0"
]
]
},
{
"name": "ujson",
"specs": []
},
{
"name": "greenlet",
"specs": []
},
{
"name": "gevent",
"specs": []
}
],
"tox": true,
"lcname": "pysolmeters"
}