aops-apollo-toolx86_649e72cbdda66f87891f5656ff2065dc3f6406c384d4dc84140d8bdab16972303cSmall tools for aops-apollo, e.g. updateinfo.xml generatersmalltools for aops-apollo, e.g.updateinfo.xml generaterhttps://gitee.com/openeuler/aops-apolloMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843612-20250918-02490aops-apollo-v2.2.0-1.src.rpm/etc/aops_apollo_tool/updateinfo_config.ini/usr/bin/gen-updateinfoaops-apollosrca85f054840f10e4c9e71990c8386794f0ca42cf6d08e82c09020eb844240ad40Cve management service, monitor machine vulnerabilities and provide fix functions.Cve management service, monitor machine vulnerabilities and provide fix functions.https://gitee.com/openeuler/aops-apolloMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843612-20250918-02490aops-apollox86_640c8de1efb8dcfc40a4dcf4e7fa830585bcb19dea056c8a8bf18597d2d32f6e9fCve management service, monitor machine vulnerabilities and provide fix functions.Cve management service, monitor machine vulnerabilities and provide fix functions.https://gitee.com/openeuler/aops-apolloMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843612-20250918-02490aops-apollo-v2.2.0-1.src.rpm/etc/aops/conf.d/aops-apollo.ymlaops-ceressrc9bc2c0bcc3873eec4c4fd6c23927e58185e2c99be636f92dba557199dde51deaAn agent which needs to be adopted in client, it managers some plugins, such as gala-gopher(kpi collection), fluentd(log collection) and so on.An agent which needs to be adopted in client, it managers some plugins, such as gala-gopher(kpi collection), fluentd(log collection) and so on.https://gitee.com/openeuler/aops-ceresMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843554-20250916-11230aops-ceresx86_6412f245dc31b3d82089320090b1b3fac0276dd742469dc3f5545d6b62859609b5An agent which needs to be adopted in client, it managers some plugins, such as gala-gopher(kpi collection), fluentd(log collection) and so on.An agent which needs to be adopted in client, it managers some plugins, such as gala-gopher(kpi collection), fluentd(log collection) and so on.https://gitee.com/openeuler/aops-ceresMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843554-20250916-11230aops-ceres-v2.2.0-1.src.rpm/etc/aops/ceres.conf/usr/bin/aops-ceresaops-hermessrc356c8df835bc41cb39a88f593e10a970a0e6511fc9e97206ed2622ee4f7cb8a0Web for an intelligent diagnose frameWeb for an intelligent diagnose framehttps://gitee.com/openeuler/aops-hermesMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843643-20250919-03050aops-hermesx86_641b674dea00473e9c6e73577042182da80c60f8ab22eb499e220a408666caea58Web for an intelligent diagnose frameWeb for an intelligent diagnose framehttps://gitee.com/openeuler/aops-hermesMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843643-20250919-03050aops-hermes-v2.2.0-1.src.rpmaops-mcpsrc12670c28ef68420ee84d1b74f0b3ec42a30085def3b5df5cd0ec2ea47d29d904Aops MCP ServiceAops MCP Service packaged as RPM.https://gitee.com/Victeo/AOPS_MCP_ServerMulanPSL-2.0openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843615-20250918-02533aops-mcpx86_645c2e6854cc253148323f95d431db6cf9b995b9cae986df3743b1f3153e53806dAops MCP ServiceAops MCP Service packaged as RPM.https://gitee.com/Victeo/AOPS_MCP_ServerMulanPSL-2.0openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843615-20250918-02533aops-mcp-1.0.0-1.src.rpm/opt/aops-mcp/venv/bin/Activate.ps1/opt/aops-mcp/venv/bin/activate/opt/aops-mcp/venv/bin/activate.csh/opt/aops-mcp/venv/bin/activate.fish/opt/aops-mcp/venv/bin/aops-mcp/opt/aops-mcp/venv/bin/dotenv/opt/aops-mcp/venv/bin/fastmcp/opt/aops-mcp/venv/bin/httpx/opt/aops-mcp/venv/bin/jsonschema/opt/aops-mcp/venv/bin/markdown-it/opt/aops-mcp/venv/bin/mcp/opt/aops-mcp/venv/bin/pip/opt/aops-mcp/venv/bin/pip3/opt/aops-mcp/venv/bin/pip3.11/opt/aops-mcp/venv/bin/pygmentize/opt/aops-mcp/venv/bin/python/opt/aops-mcp/venv/bin/python3/opt/aops-mcp/venv/bin/python3.11/opt/aops-mcp/venv/bin/typer/opt/aops-mcp/venv/bin/uvicorn/opt/aops-mcp/venv/bin/websockets/usr/bin/aops-mcpaops-toolsx86_642200b9220cbbb788e2e6087104e24efdca946ad6aeb7096b8b30e69a353a1c35aops scriptstools for aops, it's about aops deployhttps://gitee.com/openeuler/aops-vulcanusMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843555-20250916-11502aops-vulcanus-v2.2.0-1.src.rpmaops-vulcanussrc452ca0640fcda7ccfaf1fdd25d42acb632d6060882dd383f20f95ac6457b862bA basic tool libraries of aops, including logging, configure and response, etc.A basic tool libraries of aops, including logging, configure and response, etc.https://gitee.com/openeuler/aops-vulcanusMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843555-20250916-11502aops-vulcanusx86_64dc0b1f98c8facf6cd9856dc5d736fc6b3ef85d5fece2d7bb5ace205271922bddA basic tool libraries of aops, including logging, configure and response, etc.A basic tool libraries of aops, including logging, configure and response, etc.https://gitee.com/openeuler/aops-vulcanusMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843555-20250916-11502aops-vulcanus-v2.2.0-1.src.rpm/etc/aops/aops-config.ymlaops-zeussrca64d1460f9e43be9be262a65544efbcdd8b931dd2bcd84e44190cc466c4d8451A service which is the foundation of aops.Provide one-click aops deployment, service start and stop, hot loading of
configuration files, and database initialization.
Provides: aops-zeushttps://gitee.com/openeuler/aops-zeusMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843615-20250918-02533aops-zeusx86_6491e8e34092c16f9694e261fec41cd630f4492d145f774a1e3896e8ec6f2be422A service which is the foundation of aops.Provide one-click aops deployment, service start and stop, hot loading of
configuration files, and database initialization.
Provides: aops-zeushttps://gitee.com/openeuler/aops-zeusMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843615-20250918-02533aops-zeus-v2.2.0-1.src.rpm/usr/bin/aops-cliasync-taskx86_644f027d274a43d5f5205a57bd98896d5c146710fcb93e96f5a72a5b04399e7683A async task of aops.A async task of aops.https://gitee.com/openeuler/aops-zeusMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843615-20250918-02533aops-zeus-v2.2.0-1.src.rpm/etc/aops/crontab.yml/etc/aops/sync-conf.d/instance.properties/etc/aops/sync-conf.d/rdb/cve_fix_task.yml/etc/aops/sync-conf.d/rdb/cve_host_match.yml/etc/aops/sync-conf.d/rdb/cve_rollback_task.yml/etc/aops/sync-conf.d/rdb/domain.yml/etc/aops/sync-conf.d/rdb/domain_conf_info.yml/etc/aops/sync-conf.d/rdb/domain_host.yml/etc/aops/sync-conf.d/rdb/host.yml/etc/aops/sync-conf.d/rdb/host_conf_sync_status.yml/etc/aops/sync-conf.d/rdb/host_group.yml/etc/aops/sync-conf.d/rdb/hotpatch_remove_task.yml/etc/aops/sync-conf.d/rdb/repo.yml/etc/aops/sync-conf.d/rdb/task_host_repo.yml/etc/aops/sync-conf.d/rdb/vul_task.yml/usr/bin/async-taskauthHubsrc4c9ed378d842dafb6be8e806eebf6e2ce7a7891391f8da9169178971f039ded3Authentication authority based on oauth2authhub is a specialized authentication center built on OAuth2, providing robust authentication and authorization capabilities for secure user access control in your applications..https://gitee.com/openeuler/authHubMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843610-20250917-10455authHubx86_641bcac07c9d45eccd5e98d66ce951504dbf6ef9f274e50bc0222a28e5d025e04aAuthentication authority based on oauth2authhub is a specialized authentication center built on OAuth2, providing robust authentication and authorization capabilities for secure user access control in your applications..https://gitee.com/openeuler/authHubMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843610-20250917-10455authHub-v2.2.0-3.src.rpm/etc/aops/conf.d/authhub.yml/etc/nginx/conf.d/authhub.nginx.confauthhub-webx86_64d4b7f834ca1d18195a3e04e21e4b48280880916125e2270a6b0be69be78f33b9Authentication authority web based on oauth2Authentication authority web based on oauth2https://gitee.com/openeuler/authHubMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843610-20250917-10455authHub-v2.2.0-3.src.rpmdnf-hotpatch-pluginx86_64df5a1bd24ac8fd33cfe797454532d5d3b1b66b5958ffabbec7e655b4d54a6db4dnf hotpatch plugindnf hotpatch plugin, it's about hotpatch query and fixhttps://gitee.com/openeuler/aops-ceresMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843554-20250916-11230aops-ceres-v2.2.0-1.src.rpmgala-anteatersrcc8a23b971973f4c39d52f356ef078cce295806523c680ae4821b71cce51583deA time-series anomaly detection platform for operating system.Abnormal detection module for A-Ops projecthttps://gitee.com/openeuler/gala-anteaterMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843590-20250917-07304gala-anteaterx86_64e3d55e1e19d5190cd0e52ee50999d7c917fb5b44d43ccc05907c2eec606f839fA time-series anomaly detection platform for operating system.Abnormal detection module for A-Ops projecthttps://gitee.com/openeuler/gala-anteaterMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843590-20250917-07304gala-anteater-3.0.1-1.src.rpm/etc/gala-anteater/config/gala-anteater.yaml/etc/gala-anteater/config/log.settings.ini/etc/gala-anteater/config/metricinfo.json/etc/gala-anteater/entity/app_entity.json/etc/gala-anteater/entity/pod_entity.json/etc/gala-anteater/entity/vm_entity.json/etc/gala-anteater/module/app_sli_rtt.job.json/etc/gala-anteater/module/container_disruption.job.json/etc/gala-anteater/module/disk_throughput.job.json/etc/gala-anteater/module/jvm_oom.job.json/etc/gala-anteater/module/proc_io_latency.job.json/etc/gala-anteater/module/rca.job.json/etc/gala-anteater/module/slow_node_detection.job.json/etc/gala-anteater/module/sys_io_latency.job.json/etc/gala-anteater/module/sys_nic_loss.job.json/etc/gala-anteater/module/sys_tcp_establish.job.json/etc/gala-anteater/module/sys_tcp_transmission_latency.job.json/etc/gala-anteater/module/usad_model.job.json/usr/bin/gala-anteatergala-inferencex86_6465ad0e021cd28d4697bf18c4f850e3947189096bb22f5f3b7444632ef2c58509Cause inference module for gala-ops projectCause inference module for A-Ops projecthttps://gitee.com/openeuler/gala-spiderMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843561-20250916-11544gala-spider-2.0.1-1.src.rpm/etc/gala-inference/cause-keyword.yaml/etc/gala-inference/ext-observe-meta.yaml/etc/gala-inference/gala-inference.yaml/etc/gala-inference/infer-rule.yaml/usr/bin/gala-inferencegala-opsx86_6490e607868542660b54afc1de8f7fe84f8205b3f8ea5d3b130ad4fdc04e55a038gala-anteater/spider/inference installation packageThis package requires gala-anteater/spider/inference, allowing users to install them all at oncehttps://gitee.com/openeuler/gala-spiderMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843561-20250916-11544gala-spider-2.0.1-1.src.rpmgala-spidersrc7e5892f2c970110ae0ac355954602cdd2470bf57747012bdd7164272c429f82fOS topological graph storage service and cause inference service for gala-ops projectOS topological graph storage service for gala-ops projecthttps://gitee.com/openeuler/gala-spiderMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843561-20250916-11544gala-spiderx86_64ccd5055a80e585333676503478ac9f6c6be9db621718546af0f04ff1c6ef6abaOS topological graph storage service and cause inference service for gala-ops projectOS topological graph storage service for gala-ops projecthttps://gitee.com/openeuler/gala-spiderMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843561-20250916-11544gala-spider-2.0.1-1.src.rpm/etc/gala-spider/ext-observe-meta.yaml/etc/gala-spider/gala-spider.yaml/etc/gala-spider/topo-relation.yaml/usr/bin/spider-storagepython-pandas-flavorsrc1fa9dc56771e948f366680ddb8aad7b59481236462de801e1b9656149bbddf30The easy way to write your own Pandas flavor.
**The easy way to write your own flavor of Pandas**
Pandas 0.23 added a (simple) API for registering accessors with Pandas objects.
Pandas-flavor extends Pandas' extension API by:
1. adding support for registering methods as well.
2. making each of these functions backwards compatible with older versions of Pandas.
***What does this mean?***
It is now simpler to add custom functionality to Pandas DataFrames and Series.
Import this package. Write a simple python function. Register the function using one of the following decorators.
***Why?***
Pandas is super handy. Its general purpose is to be a "flexible and powerful data analysis/manipulation library".
**Pandas Flavor** allows you add functionality that tailors Pandas to specific fields or use cases.
Maybe you want to add new write methods to the Pandas DataFrame? Maybe you want custom plot functionality? Maybe something else?
Accessors (in pandas) are objects attached to a attribute on the Pandas DataFrame/Series
that provide extra, specific functionality. For example, `pandas.DataFrame.plot` is an
accessor that provides plotting functionality.
Add an accessor by registering the function with the following decorator
and passing the decorator an accessor name.
```python
import pandas_flavor as pf
@pf.register_dataframe_accessor('my_flavor')
class MyFlavor(object):
def __init__(self, data):
self._data = data
def row_by_value(self, col, value):
"""Slice out row from DataFrame by a value."""
return self._data[self._data[col] == value].squeeze()
```
Every dataframe now has this accessor as an attribute.
```python
import my_flavor
df = pd.DataFrame(data={
"x": [10, 20, 25],
"y": [0, 2, 5]
})
print(df)
df.my_flavor.row_by_value('x', 10)
```
To see this in action, check out [pdvega](https://github.com/jakevdp/pdvega),
[PhyloPandas](https://github.com/Zsailer/phylopandas), and [pyjanitor](https://github.com/ericmjl/pyjanitor)!
Using this package, you can attach functions directly to Pandas objects. No
intermediate accessor is needed.
```python
import pandas_flavor as pf
@pf.register_dataframe_method
def row_by_value(df, col, value):
"""Slice out row from DataFrame by a value."""
return df[df[col] == value].squeeze()
```
```python
import pandas as pd
import my_flavor
df = pd.DataFrame(data={
"x": [10, 20, 25],
"y": [0, 2, 5]
})
print(df)
df.row_by_value('x', 10)
```
The pandas_flavor 0.5.0 release introduced [tracing of the registered method calls](/docs/tracing_ext.md). Now it is possible to add additional run-time logic around registered method execution which can be used for some support tasks. This extension was introduced
to allow visualization of [pyjanitor](https://github.com/pyjanitor-devs/pyjanitor) method chains as implemented in [pyjviz](https://github.com/pyjanitor-devs/pyjviz)
- **register_dataframe_method**: register a method directly with a pandas DataFrame.
- **register_dataframe_accessor**: register an accessor (and it's methods) with a pandas DataFrame.
- **register_series_method**: register a methods directly with a pandas Series.
- **register_series_accessor**: register an accessor (and it's methods) with a pandas Series.
You can install using **pip**:
```
pip install pandas_flavor
```
or conda (thanks @ericmjl)!
```
conda install -c conda-forge pandas-flavor
```
Pull requests are always welcome! If you find a bug, don't hestitate to open an issue or submit a PR. If you're not sure how to do that, check out this [simple guide](https://github.com/Zsailer/guide-to-working-as-team-on-github).
If you have a feature request, please open an issue or submit a PR!
Pandas 0.23 introduced a simpler API for [extending Pandas](https://pandas.pydata.org/pandas-docs/stable/development/extending.html#extending-pandas). This API provided two key decorators, `register_dataframe_accessor` and `register_series_accessor`, that enable users to register **accessors** with Pandas DataFrames and Series.
Pandas Flavor originated as a library to backport these decorators to older versions of Pandas (<0.23). While doing the backporting, it became clear that registering **methods** directly to Pandas objects might be a desired feature as well.[*](#footnote)
<a name="footnote">*</a>*It is likely that Pandas deliberately chose not implement to this feature. If everyone starts monkeypatching DataFrames with their custom methods, it could lead to confusion in the Pandas community. The preferred Pandas approach is to namespace your methods by registering an accessor that contains your custom methods.*
**So how does method registration work?**
When you register a method, Pandas flavor actually creates and registers a (this is subtle, but important) **custom accessor class that mimics** the behavior of a method by:
1. inheriting the docstring of your function
2. overriding the `__call__` method to call your function.https://github.com/Zsailer/pandas_flavorMITopenEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843561-20250916-11544python-pandas-flavor-helpnoarch25a2697960f1b3ee7c3b96de32748cae88fd2d2ef5ce9e011a6f4c5d774548b7Development documents and examples for pandas-flavor
**The easy way to write your own flavor of Pandas**
Pandas 0.23 added a (simple) API for registering accessors with Pandas objects.
Pandas-flavor extends Pandas' extension API by:
1. adding support for registering methods as well.
2. making each of these functions backwards compatible with older versions of Pandas.
***What does this mean?***
It is now simpler to add custom functionality to Pandas DataFrames and Series.
Import this package. Write a simple python function. Register the function using one of the following decorators.
***Why?***
Pandas is super handy. Its general purpose is to be a "flexible and powerful data analysis/manipulation library".
**Pandas Flavor** allows you add functionality that tailors Pandas to specific fields or use cases.
Maybe you want to add new write methods to the Pandas DataFrame? Maybe you want custom plot functionality? Maybe something else?
Accessors (in pandas) are objects attached to a attribute on the Pandas DataFrame/Series
that provide extra, specific functionality. For example, `pandas.DataFrame.plot` is an
accessor that provides plotting functionality.
Add an accessor by registering the function with the following decorator
and passing the decorator an accessor name.
```python
import pandas_flavor as pf
@pf.register_dataframe_accessor('my_flavor')
class MyFlavor(object):
def __init__(self, data):
self._data = data
def row_by_value(self, col, value):
"""Slice out row from DataFrame by a value."""
return self._data[self._data[col] == value].squeeze()
```
Every dataframe now has this accessor as an attribute.
```python
import my_flavor
df = pd.DataFrame(data={
"x": [10, 20, 25],
"y": [0, 2, 5]
})
print(df)
df.my_flavor.row_by_value('x', 10)
```
To see this in action, check out [pdvega](https://github.com/jakevdp/pdvega),
[PhyloPandas](https://github.com/Zsailer/phylopandas), and [pyjanitor](https://github.com/ericmjl/pyjanitor)!
Using this package, you can attach functions directly to Pandas objects. No
intermediate accessor is needed.
```python
import pandas_flavor as pf
@pf.register_dataframe_method
def row_by_value(df, col, value):
"""Slice out row from DataFrame by a value."""
return df[df[col] == value].squeeze()
```
```python
import pandas as pd
import my_flavor
df = pd.DataFrame(data={
"x": [10, 20, 25],
"y": [0, 2, 5]
})
print(df)
df.row_by_value('x', 10)
```
The pandas_flavor 0.5.0 release introduced [tracing of the registered method calls](/docs/tracing_ext.md). Now it is possible to add additional run-time logic around registered method execution which can be used for some support tasks. This extension was introduced
to allow visualization of [pyjanitor](https://github.com/pyjanitor-devs/pyjanitor) method chains as implemented in [pyjviz](https://github.com/pyjanitor-devs/pyjviz)
- **register_dataframe_method**: register a method directly with a pandas DataFrame.
- **register_dataframe_accessor**: register an accessor (and it's methods) with a pandas DataFrame.
- **register_series_method**: register a methods directly with a pandas Series.
- **register_series_accessor**: register an accessor (and it's methods) with a pandas Series.
You can install using **pip**:
```
pip install pandas_flavor
```
or conda (thanks @ericmjl)!
```
conda install -c conda-forge pandas-flavor
```
Pull requests are always welcome! If you find a bug, don't hestitate to open an issue or submit a PR. If you're not sure how to do that, check out this [simple guide](https://github.com/Zsailer/guide-to-working-as-team-on-github).
If you have a feature request, please open an issue or submit a PR!
Pandas 0.23 introduced a simpler API for [extending Pandas](https://pandas.pydata.org/pandas-docs/stable/development/extending.html#extending-pandas). This API provided two key decorators, `register_dataframe_accessor` and `register_series_accessor`, that enable users to register **accessors** with Pandas DataFrames and Series.
Pandas Flavor originated as a library to backport these decorators to older versions of Pandas (<0.23). While doing the backporting, it became clear that registering **methods** directly to Pandas objects might be a desired feature as well.[*](#footnote)
<a name="footnote">*</a>*It is likely that Pandas deliberately chose not implement to this feature. If everyone starts monkeypatching DataFrames with their custom methods, it could lead to confusion in the Pandas community. The preferred Pandas approach is to namespace your methods by registering an accessor that contains your custom methods.*
**So how does method registration work?**
When you register a method, Pandas flavor actually creates and registers a (this is subtle, but important) **custom accessor class that mimics** the behavior of a method by:
1. inheriting the docstring of your function
2. overriding the `__call__` method to call your function.https://github.com/Zsailer/pandas_flavorMITopenEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843561-20250916-11544python-pandas-flavor-0.6.0-1.src.rpmpython-pingouinsrc6900206aa842a78de8d79b54cfb0e059d3f84ab7edff8457f4e684fd18e7a625Pingouin: statistical package for Python**Pingouin** is an open-source statistical package written in Python 3 and based mostly on Pandas and NumPy. Some of its main features are listed below. For a full list of available functions, please refer to the `API documentation <https://pingouin-stats.org/build/html/api.html#>`_.
1. ANOVAs: N-ways, repeated measures, mixed, ancova
2. Pairwise post-hocs tests (parametric and non-parametric) and pairwise correlations
3. Robust, partial, distance and repeated measures correlations
4. Linear/logistic regression and mediation analysis
5. Bayes Factors
6. Multivariate tests
7. Reliability and consistency
8. Effect sizes and power analysis
9. Parametric/bootstrapped confidence intervals around an effect size or a correlation coefficient
10. Circular statistics
11. Chi-squared tests
12. Plotting: Bland-Altman plot, Q-Q plot, paired plot, robust correlation...
Pingouin is designed for users who want **simple yet exhaustive statistical functions**.
For example, the :code:`ttest_ind` function of SciPy returns only the T-value and the p-value. By contrast,
the :code:`ttest` function of Pingouin returns the T-value, the p-value, the degrees of freedom, the effect size (Cohen's d), the 95% confidence intervals of the difference in means, the statistical power and the Bayes Factor (BF10) of the test.https://pingouin-stats.org/index.htmlGPL-3.0openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843561-20250916-11544python-pingouin-helpnoarch875ab228961054ce576d7aae9ac2fd0121df40b8a0c4f71ed348f3a7818a6ca3Development documents and examples for pingouin**Pingouin** is an open-source statistical package written in Python 3 and based mostly on Pandas and NumPy. Some of its main features are listed below. For a full list of available functions, please refer to the `API documentation <https://pingouin-stats.org/build/html/api.html#>`_.
1. ANOVAs: N-ways, repeated measures, mixed, ancova
2. Pairwise post-hocs tests (parametric and non-parametric) and pairwise correlations
3. Robust, partial, distance and repeated measures correlations
4. Linear/logistic regression and mediation analysis
5. Bayes Factors
6. Multivariate tests
7. Reliability and consistency
8. Effect sizes and power analysis
9. Parametric/bootstrapped confidence intervals around an effect size or a correlation coefficient
10. Circular statistics
11. Chi-squared tests
12. Plotting: Bland-Altman plot, Q-Q plot, paired plot, robust correlation...
Pingouin is designed for users who want **simple yet exhaustive statistical functions**.
For example, the :code:`ttest_ind` function of SciPy returns only the T-value and the p-value. By contrast,
the :code:`ttest` function of Pingouin returns the T-value, the p-value, the degrees of freedom, the effect size (Cohen's d), the 95% confidence intervals of the difference in means, the statistical power and the Bayes Factor (BF10) of the test.https://pingouin-stats.org/index.htmlGPL-3.0openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843561-20250916-11544python-pingouin-0.5.5-1.src.rpmpython-seabornsrcba361c13c14824dd17dc2b0471c287e2dd5eed165943b4c615b2b330c5103020Statistical data visualizationhttps://pypi.org/project/seaborn/NoneopenEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843561-20250916-11544python-seaborn-helpnoarchc3d54c1a717aebf4a4e4dd46b71a86ddd40e067aaa0e4f034d03312e48c51439Development documents and examples for seabornhttps://pypi.org/project/seaborn/NoneopenEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843561-20250916-11544python-seaborn-0.13.2-1.src.rpmpython3-gala-anteaterx86_6471be770c8187c0c05e86c7943b88f7b9f129b55549b2d88143f0152e6c656519Python3 package of gala-anteaterPython3 package of gala-anteaterhttps://gitee.com/openeuler/gala-anteaterMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843590-20250917-07304gala-anteater-3.0.1-1.src.rpmpython3-gala-inferencex86_64ef054e5125e7494af620f3f22b131ad6902f426d38fd462e68e09e8c8af04621Python3 package of gala-inferencePython3 package of gala-inferencehttps://gitee.com/openeuler/gala-spiderMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843561-20250916-11544gala-spider-2.0.1-1.src.rpmpython3-gala-spiderx86_646971956988d886e27835acd405dba538479b76699f0ce19792741d4ae3596704Python3 package of gala-spiderPython3 package of gala-spiderhttps://gitee.com/openeuler/gala-spiderMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843561-20250916-11544gala-spider-2.0.1-1.src.rpmpython3-pandas-flavornoarchae7de85b0818f66312d9d1f3f990daecb949277cd4804f6cf4fdc23a3cc7f133The easy way to write your own Pandas flavor.
**The easy way to write your own flavor of Pandas**
Pandas 0.23 added a (simple) API for registering accessors with Pandas objects.
Pandas-flavor extends Pandas' extension API by:
1. adding support for registering methods as well.
2. making each of these functions backwards compatible with older versions of Pandas.
***What does this mean?***
It is now simpler to add custom functionality to Pandas DataFrames and Series.
Import this package. Write a simple python function. Register the function using one of the following decorators.
***Why?***
Pandas is super handy. Its general purpose is to be a "flexible and powerful data analysis/manipulation library".
**Pandas Flavor** allows you add functionality that tailors Pandas to specific fields or use cases.
Maybe you want to add new write methods to the Pandas DataFrame? Maybe you want custom plot functionality? Maybe something else?
Accessors (in pandas) are objects attached to a attribute on the Pandas DataFrame/Series
that provide extra, specific functionality. For example, `pandas.DataFrame.plot` is an
accessor that provides plotting functionality.
Add an accessor by registering the function with the following decorator
and passing the decorator an accessor name.
```python
import pandas_flavor as pf
@pf.register_dataframe_accessor('my_flavor')
class MyFlavor(object):
def __init__(self, data):
self._data = data
def row_by_value(self, col, value):
"""Slice out row from DataFrame by a value."""
return self._data[self._data[col] == value].squeeze()
```
Every dataframe now has this accessor as an attribute.
```python
import my_flavor
df = pd.DataFrame(data={
"x": [10, 20, 25],
"y": [0, 2, 5]
})
print(df)
df.my_flavor.row_by_value('x', 10)
```
To see this in action, check out [pdvega](https://github.com/jakevdp/pdvega),
[PhyloPandas](https://github.com/Zsailer/phylopandas), and [pyjanitor](https://github.com/ericmjl/pyjanitor)!
Using this package, you can attach functions directly to Pandas objects. No
intermediate accessor is needed.
```python
import pandas_flavor as pf
@pf.register_dataframe_method
def row_by_value(df, col, value):
"""Slice out row from DataFrame by a value."""
return df[df[col] == value].squeeze()
```
```python
import pandas as pd
import my_flavor
df = pd.DataFrame(data={
"x": [10, 20, 25],
"y": [0, 2, 5]
})
print(df)
df.row_by_value('x', 10)
```
The pandas_flavor 0.5.0 release introduced [tracing of the registered method calls](/docs/tracing_ext.md). Now it is possible to add additional run-time logic around registered method execution which can be used for some support tasks. This extension was introduced
to allow visualization of [pyjanitor](https://github.com/pyjanitor-devs/pyjanitor) method chains as implemented in [pyjviz](https://github.com/pyjanitor-devs/pyjviz)
- **register_dataframe_method**: register a method directly with a pandas DataFrame.
- **register_dataframe_accessor**: register an accessor (and it's methods) with a pandas DataFrame.
- **register_series_method**: register a methods directly with a pandas Series.
- **register_series_accessor**: register an accessor (and it's methods) with a pandas Series.
You can install using **pip**:
```
pip install pandas_flavor
```
or conda (thanks @ericmjl)!
```
conda install -c conda-forge pandas-flavor
```
Pull requests are always welcome! If you find a bug, don't hestitate to open an issue or submit a PR. If you're not sure how to do that, check out this [simple guide](https://github.com/Zsailer/guide-to-working-as-team-on-github).
If you have a feature request, please open an issue or submit a PR!
Pandas 0.23 introduced a simpler API for [extending Pandas](https://pandas.pydata.org/pandas-docs/stable/development/extending.html#extending-pandas). This API provided two key decorators, `register_dataframe_accessor` and `register_series_accessor`, that enable users to register **accessors** with Pandas DataFrames and Series.
Pandas Flavor originated as a library to backport these decorators to older versions of Pandas (<0.23). While doing the backporting, it became clear that registering **methods** directly to Pandas objects might be a desired feature as well.[*](#footnote)
<a name="footnote">*</a>*It is likely that Pandas deliberately chose not implement to this feature. If everyone starts monkeypatching DataFrames with their custom methods, it could lead to confusion in the Pandas community. The preferred Pandas approach is to namespace your methods by registering an accessor that contains your custom methods.*
**So how does method registration work?**
When you register a method, Pandas flavor actually creates and registers a (this is subtle, but important) **custom accessor class that mimics** the behavior of a method by:
1. inheriting the docstring of your function
2. overriding the `__call__` method to call your function.https://github.com/Zsailer/pandas_flavorMITopenEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843561-20250916-11544python-pandas-flavor-0.6.0-1.src.rpmpython3-pingouinnoarch380d2967ff55792172520bcf7cbb7e066c1eef1fccfc0d97d4bc7db688690797Pingouin: statistical package for Python**Pingouin** is an open-source statistical package written in Python 3 and based mostly on Pandas and NumPy. Some of its main features are listed below. For a full list of available functions, please refer to the `API documentation <https://pingouin-stats.org/build/html/api.html#>`_.
1. ANOVAs: N-ways, repeated measures, mixed, ancova
2. Pairwise post-hocs tests (parametric and non-parametric) and pairwise correlations
3. Robust, partial, distance and repeated measures correlations
4. Linear/logistic regression and mediation analysis
5. Bayes Factors
6. Multivariate tests
7. Reliability and consistency
8. Effect sizes and power analysis
9. Parametric/bootstrapped confidence intervals around an effect size or a correlation coefficient
10. Circular statistics
11. Chi-squared tests
12. Plotting: Bland-Altman plot, Q-Q plot, paired plot, robust correlation...
Pingouin is designed for users who want **simple yet exhaustive statistical functions**.
For example, the :code:`ttest_ind` function of SciPy returns only the T-value and the p-value. By contrast,
the :code:`ttest` function of Pingouin returns the T-value, the p-value, the degrees of freedom, the effect size (Cohen's d), the 95% confidence intervals of the difference in means, the statistical power and the Bayes Factor (BF10) of the test.https://pingouin-stats.org/index.htmlGPL-3.0openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843561-20250916-11544python-pingouin-0.5.5-1.src.rpmpython3-seabornnoarcha990c55532cd42747cd3b9c533dd0b7fee70984e64ccf244cc26728c3033418aStatistical data visualizationhttps://pypi.org/project/seaborn/NoneopenEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843561-20250916-11544python-seaborn-0.13.2-1.src.rpmzeus-distributex86_6405d83a1ab78d671ca48981fdddcd454ca5b5f3268bc36e7217aba23e090e82ffA distributed service of aops.A distributed service of aops.https://gitee.com/openeuler/aops-zeusMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843615-20250918-02533aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-distribute.ymlzeus-host-informationx86_6416456d27a4708c9ef3e06a881958aa0352ed2215dc75730135b0f2b0fb1695f3A host manager service which is the foundation of aops.A host manager service which is the foundation of aops.https://gitee.com/openeuler/aops-zeusMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843615-20250918-02533aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-host-information.ymlzeus-operationx86_6400af29c3152d3e0915580a4113ce89c2fad39bbf13fc6ff0ab8552fd02bf21e8A operation manager service which is the foundation of aops.A operation manager of aops.https://gitee.com/openeuler/aops-zeusMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843615-20250918-02533aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-operation.ymlzeus-user-accessx86_6427fd31d768286bd309a1a477b04294a50f4e561f3f9fd5a3c7f709e5d096599fA user manager service which is the foundation of aops.A user manager service which is the foundation of aops.https://gitee.com/openeuler/aops-zeusMulanPSL2openEuler Copr - user yanzhicongUnspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843615-20250918-02533aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-user-access.yml