aops-apollo-toolx86_6424ac79a7094d440638c049200be3b8817cec8d47f48d75f1e3257f9dc4cc8853Small tools for aops-apollo, e.g. updateinfo.xml generatersmalltools for aops-apollo, e.g.updateinfo.xml generaterhttps://gitee.com/openeuler/aops-apolloMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843825-20251013-09333aops-apollo-v2.2.0-1.src.rpm/etc/aops_apollo_tool/updateinfo_config.ini/usr/bin/gen-updateinfoaops-apollosrc794ce7bc01b9d8210b586adb4d0e55df394e81f5ba725ad2ad54cb0adc8ec723Cve 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843825-20251013-09333aops-apollox86_6491054696e3b60f46c5ff134fc11d5d3bd76887ce8872fbbeeb2bea72f987be77Cve 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843825-20251013-09333aops-apollo-v2.2.0-1.src.rpm/etc/aops/conf.d/aops-apollo.ymlaops-ceressrc92c360c1b7b16e8da66638aaa6bbe9941d909574335061242010bd24a0157612An 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843834-20251014-01255aops-ceresx86_6476d545614d5d3196ab5b183f95c6f968ccea4dafc83f1c429c15532d5701228cAn 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843834-20251014-01255aops-ceres-v2.2.0-1.src.rpm/etc/aops/ceres.conf/usr/bin/aops-ceresaops-hermessrccd9d397a52a3f6a69aaf3f5ae170179ca3d3af51c9721b79970ee4bfac2234f5Web for an intelligent diagnose frameWeb for an intelligent diagnose framehttps://gitee.com/openeuler/aops-hermesMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843840-20251014-01275aops-hermesx86_64b2135ca2d4ab7d99f1283ed1cf730fd5ca514501129ba3bb106170f31ee67af3Web for an intelligent diagnose frameWeb for an intelligent diagnose framehttps://gitee.com/openeuler/aops-hermesMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843840-20251014-01275aops-hermes-v2.2.0-1.src.rpmaops-toolsx86_644cb6b803ee50c4938c5ac7171fc8c508541dba50d0ccb22c31739786a291160eaops scriptstools for aops, it's about aops deployhttps://gitee.com/openeuler/aops-vulcanusMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843829-20251014-01240aops-vulcanus-v2.2.0-1.src.rpmaops-vulcanussrcb4e9dc94c16cad36a1aa81ef2bc76166deb28e53dbe2387564d73b89a4a3067eA 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843829-20251014-01240aops-vulcanusx86_64be7a7c361842bdc50cc880ee01b70545a9921d76e9c514bc3fa2cca2b8a7155fA 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843829-20251014-01240aops-vulcanus-v2.2.0-1.src.rpm/etc/aops/aops-config.ymlaops-zeussrc855540a018c18317c6ddb30493d29f6470b0ba93d4ca613a9ff5b3f16363f572A 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843827-20251014-01232aops-zeusx86_64e6fcf2f3e31254de870812617bf5bba3f1f1fd6433faa6a9b09d7ba35dfd8b63A 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843827-20251014-01232aops-zeus-v2.2.0-1.src.rpm/usr/bin/aops-cliasync-taskx86_640c5155c5d223ad4acdaf674e4ac80d998ccb6cb46643a67c5bca2269118d7b3fA async task of aops.A async task of aops.https://gitee.com/openeuler/aops-zeusMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843827-20251014-01232aops-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-taskauthHubsrca55ab1e08c98d7a794764e0109e02dcae7a2a01bddfdadf43022634766dce28aAuthentication 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843842-20251014-01282authHubx86_64ba8f9be680955588fe3db8e7d5707050a8f6d4e1bb1d40106ec79e851dbf893eAuthentication 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843842-20251014-01282authHub-v2.2.0-3.src.rpm/etc/aops/conf.d/authhub.yml/etc/nginx/conf.d/authhub.nginx.confauthhub-webx86_6403f8abd88a6cede49570e538283b6d124f1376099780b096f7547a0176781c40Authentication authority web based on oauth2Authentication authority web based on oauth2https://gitee.com/openeuler/authHubMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843842-20251014-01282authHub-v2.2.0-3.src.rpmdnf-hotpatch-pluginx86_64784d388cab400aa8b2fa2ba18eab991d731e5f6fd0c7a8e0aa3a108416676886dnf hotpatch plugindnf hotpatch plugin, it's about hotpatch query and fixhttps://gitee.com/openeuler/aops-ceresMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843834-20251014-01255aops-ceres-v2.2.0-1.src.rpmgala-anteatersrc9504fec89dc5653baa1ea4280196d29b0ea63d40d6b307e9d804d04dceb829a0A time-series anomaly detection platform for operating system.Abnormal detection module for A-Ops projecthttps://gitee.com/openeuler/gala-anteaterMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843834-20251014-01255gala-anteaterx86_649473c6531ca73408b109bc0b8d6ba6adc95a12d7e98337d7e6cb97cdeeec8af6A time-series anomaly detection platform for operating system.Abnormal detection module for A-Ops projecthttps://gitee.com/openeuler/gala-anteaterMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843834-20251014-01255gala-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-gophersrcccd1bb19c81f3cb9aee472e7491cf986065d20743501bc3db295674175c60417Intelligent ops toolkit for openEulergala-gopher is a low-overhead eBPF-based probes frameworkhttps://gitee.com/openeuler/gala-gopherMulan PSL v2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843832-20251014-01245gala-gopherx86_64c75d448c54f32b43e4fee865e0716acd984058a94ece2167cb137a87b4adb7b0Intelligent ops toolkit for openEulergala-gopher is a low-overhead eBPF-based probes frameworkhttps://gitee.com/openeuler/gala-gopherMulan PSL v2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843832-20251014-01245gala-gopher-2.0.2-2.src.rpm/etc/gala-gopher/extend_probes/cadvisor_probe.conf/etc/gala-gopher/extend_probes/pg_stat_probe.conf/etc/gala-gopher/gala-gopher-custom.json/etc/gala-gopher/gala-gopher.conf/etc/gala-gopher/probes.init/usr/bin/gala-gopher/usr/bin/gopher-ctlgala-gopher-debuginfox86_6447061c3d87662df2b44ae0c9e2282de6f0188edf5b0bcea54714ed03c3437061Debug information for package gala-gopherThis package provides debug information for package gala-gopher.
Debug information is useful when developing applications that use this
package or when debugging this package.https://gitee.com/openeuler/gala-gopherMulan PSL v2openEuler Copr - user HLG523653667Development/Debugeur-prod-workerlocal-x86-64-normal-prod-00843832-20251014-01245gala-gopher-2.0.2-2.src.rpm/usr/lib/debug/usr/bin/gala-gopher-2.0.2-2.x86_64.debug/usr/lib/debug/usr/bin/gopher-ctl-2.0.2-2.x86_64.debuggala-gopher-debugsourcex86_64288c98e752be5cf2c180fa1106ea6bf8d25edaf325a8640f679e521cb3ed5a83Debug sources for package gala-gopherThis package provides debug sources for package gala-gopher.
Debug sources are useful when developing applications that use this
package or when debugging this package.https://gitee.com/openeuler/gala-gopherMulan PSL v2openEuler Copr - user HLG523653667Development/Debugeur-prod-workerlocal-x86-64-normal-prod-00843832-20251014-01245gala-gopher-2.0.2-2.src.rpmgala-inferencex86_6426b77c21c3fedcbbda08d304cb4b223b8ed49f1b0a37c8e33258178cb4cb7c75Cause inference module for gala-ops projectCause inference module for A-Ops projecthttps://gitee.com/openeuler/gala-spiderMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843826-20251014-01224gala-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_64152984dc03eaf73b077af661c206db59cd49fd2cb02adf983fd2d1c4583448bfgala-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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843826-20251014-01224gala-spider-2.0.1-1.src.rpmgala-spidersrcfab34a2de1d59269ced5906822a04e517143ac0b46227896d2feb4bb9a4be7beOS 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843826-20251014-01224gala-spiderx86_64ddf8dc43468550bb4bd3742ba669db632dd2f3cfc38d331ae49e9050eb46288cOS 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843826-20251014-01224gala-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-flavorsrc8bdae7cb80f89ea34ae1aafc3d5986c6ebbede8a52de24425459d7efbc582a78The 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843842-20251014-01282python-pandas-flavor-helpnoarch34330f5fb75f0d5ebb9629e75f1cb29846da5ef8f2a183486eed97f7866885daDevelopment 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843842-20251014-01282python-pandas-flavor-0.6.0-1.src.rpmpython-pingouinsrc23694a600f63f53814cdfc260ae73468d8943bcff0457ddf165689a0674b39dePingouin: 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843829-20251014-01240python-pingouin-helpnoarchbafe06d7501465f28efaa5073e7f46a8d5097dc6952507129b6279cbe7dd2ddaDevelopment 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843829-20251014-01240python-pingouin-0.5.5-1.src.rpmpython-seabornsrce464d7ceb338eb52209505a187b6afdcb120a0b3487bc749045598d79aa88d3aStatistical data visualizationhttps://pypi.org/project/seaborn/NoneopenEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843834-20251014-01255python-seaborn-helpnoarchd7dde688870f818f0f228ec9a51c1b3af4afc6b11cbc8b95cf11c20781399433Development documents and examples for seabornhttps://pypi.org/project/seaborn/NoneopenEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843834-20251014-01255python-seaborn-0.13.2-1.src.rpmpython3-gala-anteaterx86_6408de84fb247b25eb7445a294d21e219cab775ddfe43413d041f60f584ba1522fPython3 package of gala-anteaterPython3 package of gala-anteaterhttps://gitee.com/openeuler/gala-anteaterMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843834-20251014-01255gala-anteater-3.0.1-1.src.rpmpython3-gala-inferencex86_647bac1c0c18b78c6ea7309e6dd12aee06bd0949f2a81067e26cbff24742b8e4fbPython3 package of gala-inferencePython3 package of gala-inferencehttps://gitee.com/openeuler/gala-spiderMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843826-20251014-01224gala-spider-2.0.1-1.src.rpmpython3-gala-spiderx86_64724371db5c74c8ea36550e8a8ad523b0add209f470b69863fbde31a54b31c382Python3 package of gala-spiderPython3 package of gala-spiderhttps://gitee.com/openeuler/gala-spiderMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843826-20251014-01224gala-spider-2.0.1-1.src.rpmpython3-pandas-flavornoarchf724185ac1d13e6bdccae227a9929ad58844f1fe78b34fb585175060e7351fcdThe 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843842-20251014-01282python-pandas-flavor-0.6.0-1.src.rpmpython3-pingouinnoarch81284e409b0ef09542f4f8d85fc1a966a3ea96fe5c8b950c486c18462c028db6Pingouin: 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843829-20251014-01240python-pingouin-0.5.5-1.src.rpmpython3-seabornnoarch873534b40f1fa054ece98ba5fac1f9a539eca97853cc49bc387ab9084ced3735Statistical data visualizationhttps://pypi.org/project/seaborn/NoneopenEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843834-20251014-01255python-seaborn-0.13.2-1.src.rpmzeus-distributex86_64f9a3210ef4ff5d26f519ae5256d709d6e288706868d5fde1e21e07c95ed36d16A distributed service of aops.A distributed service of aops.https://gitee.com/openeuler/aops-zeusMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843827-20251014-01232aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-distribute.ymlzeus-host-informationx86_643a826a9fcd35dedafb84b49321448af7cac56ecf1c2cff35ea7a2d6e6d45fbb1A 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843827-20251014-01232aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-host-information.ymlzeus-operationx86_6497d627b6334bd820c263c0dc6983cf60a2cda21f7aab10bb370bed1ecb10bde2A operation manager service which is the foundation of aops.A operation manager of aops.https://gitee.com/openeuler/aops-zeusMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843827-20251014-01232aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-operation.ymlzeus-user-accessx86_64fc53f9db1371f99c7744e0f2f9b909fb95723aa2bfbc4575c991b4b3e0a4f66eA 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 HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843827-20251014-01232aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-user-access.yml