aops-apollo-toolx86_64d4ca8aec295b472dd62a003cad92e0ebc774e6a9fec1ad704dc9dc164830f550Small 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-00843829-20251014-01240aops-apollo-v2.2.0-1.src.rpm/etc/aops_apollo_tool/updateinfo_config.ini/usr/bin/gen-updateinfoaops-apollosrce26635c9e943cc7241329c09b6ce1e6b5df806002a7bb1501b2a99be92bb6c36Cve 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-00843829-20251014-01240aops-apollox86_6416d31b4f68881fca343279812b0148c458dfc52bd7fbb327a13c885258f755f0Cve 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-00843829-20251014-01240aops-apollo-v2.2.0-1.src.rpm/etc/aops/conf.d/aops-apollo.ymlaops-ceressrc2cf303ebaa7935b857a33e6a801ef822877edcd0b872cecca7ae68c411d604b9An 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-00843827-20251014-01232aops-ceresx86_640599377f49f2188f7a0bff04d3ee21d00e389bfd5582ceadb7965d3ea996d81cAn 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-00843827-20251014-01232aops-ceres-v2.2.0-1.src.rpm/etc/aops/ceres.conf/usr/bin/aops-ceresaops-hermessrcd7b6edf2f7256270469de80107e45caa5204baea0edb498c1ce12b92d30bdb19Web for an intelligent diagnose frameWeb for an intelligent diagnose framehttps://gitee.com/openeuler/aops-hermesMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843827-20251014-01232aops-hermesx86_64b2d25d6f870b0088ab4dd1b9ef7bdbeb5b51da16e40952205b28b0fb83bc65eaWeb for an intelligent diagnose frameWeb for an intelligent diagnose framehttps://gitee.com/openeuler/aops-hermesMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843827-20251014-01232aops-hermes-v2.2.0-1.src.rpmaops-toolsx86_64c871e77ebcbe20eeb05b0392c679e30d115acea51e4bb0ce236515266a9c24e5aops scriptstools for aops, it's about aops deployhttps://gitee.com/openeuler/aops-vulcanusMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843834-20251014-01255aops-vulcanus-v2.2.0-1.src.rpmaops-vulcanussrc01e8e8b3d5227a4bba29cbfc1c3a61adfac59bdf8b05eab64136398ee5b6d40dA 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-00843834-20251014-01255aops-vulcanusx86_640e0edf8b721bcbdeee84ce8e866b2d1701d6c20eb9e919f63bac3b42de99a487A 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-00843834-20251014-01255aops-vulcanus-v2.2.0-1.src.rpm/etc/aops/aops-config.ymlaops-zeussrcd2c1b3e3fbe749333b95def503a8023af9d930ea22789a1fe48e8ed35b0d0955A 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-00843844-20251014-01322aops-zeusx86_643480f2c7cba5db11188f86cc3e835e636553e935a7650ab18a3b16f3e3721c00A 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-00843844-20251014-01322aops-zeus-v2.2.0-1.src.rpm/usr/bin/aops-cliasync-taskx86_64e584eb3e22d9add43c027e995dc14c781658423520370f7073378cade41b23b3A async task of aops.A async task of aops.https://gitee.com/openeuler/aops-zeusMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843844-20251014-01322aops-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-taskauthHubsrcede1c5363cdb0e3321471ba4a1cc1a3d47191375cbb9f6a28fe423e6672d468eAuthentication 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-00843840-20251014-01275authHubx86_64f8f04c2e06bdf9c7c49d245365ea648589ff5f279ce3d37655b8a4e106b4d82aAuthentication 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-00843840-20251014-01275authHub-v2.2.0-3.src.rpm/etc/aops/conf.d/authhub.yml/etc/nginx/conf.d/authhub.nginx.confauthhub-webx86_64d0bd120a10152910ad9c7ab4ee9360a442ac1ec1e90c0a31e59fa5931f3c409fAuthentication authority web based on oauth2Authentication authority web based on oauth2https://gitee.com/openeuler/authHubMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843840-20251014-01275authHub-v2.2.0-3.src.rpmdnf-hotpatch-pluginx86_64c91f7cc24ec9e325ef743f8968dc2e7190209c34a807772bf77326ed09aa4434dnf 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-00843827-20251014-01232aops-ceres-v2.2.0-1.src.rpmgala-anteatersrce4a6324d5f27b0ca0d39b2de3a6ec7f0b00aaa0267118ee2d2d66be62cd30e21A 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-00843825-20251013-09333gala-anteaterx86_64ba29ccb368cbe3ce9009116a4af0381505fab41e99978add8d02d7a511a7ced6A 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-00843825-20251013-09333gala-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-gophersrc602155e8fd74a310d410cc209dd50b496a2899dbf43133c578297acfdcb374edIntelligent 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-00843842-20251014-01282gala-gopherx86_6421e6306ee794590cc767106fac7e956e1426a61c02c39185d62a4eb936accbcbIntelligent 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-00843842-20251014-01282gala-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_649897f09602abaacfa6a8bfd668357150b58d5c56c5cba1c30e6e2d17d75c3f94Debug 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-00843842-20251014-01282gala-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_649c9628c83be878a7497a598639e250fbaa32857c268cd004b12c4da0ac51f987Debug 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-00843842-20251014-01282gala-gopher-2.0.2-2.src.rpmgala-inferencex86_643f90e6f6de8dbdc035f3a6aa7c213872647b7a5e49506c192c35e661fa90b7bdCause 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-00843844-20251014-01322gala-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_64d522ea65bb8a93a1d2c907931e7b37d92383033f80e69c8cff99ff2be2e3a91dgala-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-00843844-20251014-01322gala-spider-2.0.1-1.src.rpmgala-spidersrcfc0d10204fe73ca1f76a3574f5df1e622acc0ef43ba2283974a129edf77edb98OS 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-00843844-20251014-01322gala-spiderx86_64236607e93356f49bc2e795efecd96717cc3c01e22478041b1522ca6562746d24OS 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-00843844-20251014-01322gala-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-flavorsrcdecd51c17499b8f45d24595d247f55d97c69610d5efdd2782648575c9d84fdedThe 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-00843827-20251014-01232python-pandas-flavor-helpnoarcha8a94d5fd8640908e1a270ac0a1d7a8d801fabdc416f880f15bd2ab0ba8d8fb4Development 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-00843827-20251014-01232python-pandas-flavor-0.6.0-1.src.rpmpython-pingouinsrcedfd29410533af468fb0c3b2882bde8ea9a70b5ccbeb8cb30039fc7f3aab3e2dPingouin: 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-00843825-20251013-09333python-pingouin-helpnoarch83d743d1ee0ac08263b3b7cb806316f8bb4069818aaaf1b175045fe6d7e8dbe2Development 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-00843825-20251013-09333python-pingouin-0.5.5-1.src.rpmpython-seabornsrc46ede315f532c0da90f5dd58b8fba28a9ce0d649ffddde7f3e5d8cfdc57a3963Statistical data visualizationhttps://pypi.org/project/seaborn/NoneopenEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843825-20251013-09333python-seaborn-helpnoarch82cc942efeee064f476a83490c6e1a4114af97c975932af3b8662cc7ce0dae82Development documents and examples for seabornhttps://pypi.org/project/seaborn/NoneopenEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843825-20251013-09333python-seaborn-0.13.2-1.src.rpmpython3-gala-anteaterx86_640a465c1a6732c424dbbfa763cc1480ac032343fe4d35b8462e9cc92b78ccdc45Python3 package of gala-anteaterPython3 package of gala-anteaterhttps://gitee.com/openeuler/gala-anteaterMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843825-20251013-09333gala-anteater-3.0.1-1.src.rpmpython3-gala-inferencex86_6400f4285880e1894e910899554299d7ec865ac8993839325e09375756cae6671aPython3 package of gala-inferencePython3 package of gala-inferencehttps://gitee.com/openeuler/gala-spiderMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843844-20251014-01322gala-spider-2.0.1-1.src.rpmpython3-gala-spiderx86_64c742cf261d82d9d4085272b4b20de56593584835dd212eb994a3ae29f0472f50Python3 package of gala-spiderPython3 package of gala-spiderhttps://gitee.com/openeuler/gala-spiderMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843844-20251014-01322gala-spider-2.0.1-1.src.rpmpython3-pandas-flavornoarchef97b684170f04ce32d2e9963ce9345c54ee3c22f6e2bdc7bbf00240de1bdfd8The 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-00843827-20251014-01232python-pandas-flavor-0.6.0-1.src.rpmpython3-pingouinnoarchd3c017e967a69a049426292a81f8bf0b9b268500ebfd9ffb2f52dd44153fbbd0Pingouin: 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-00843825-20251013-09333python-pingouin-0.5.5-1.src.rpmpython3-seabornnoarchfe394017cc0ad604ab73a89465a80021ab583bc45629928605f3f40373821867Statistical data visualizationhttps://pypi.org/project/seaborn/NoneopenEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843825-20251013-09333python-seaborn-0.13.2-1.src.rpmzeus-distributex86_64ce0eef7d9dbdf5cf586c58bf53e1686c40eecffa99f1a839c4bef8ef197198b5A distributed service of aops.A distributed service of aops.https://gitee.com/openeuler/aops-zeusMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-x86-64-normal-prod-00843844-20251014-01322aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-distribute.ymlzeus-host-informationx86_64f5afb7bec700c86d0189788756b8c33429429cde5f1a21f0bccae95ea0acf3e0A 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-00843844-20251014-01322aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-host-information.ymlzeus-operationx86_64482571d01c2c604eb2ed222aafb86882ca3914e1d9a1a518edae7fd24cebfcc9A 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-00843844-20251014-01322aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-operation.ymlzeus-user-accessx86_64593b1a64185bdb3974b75ec45585448a85186ad46326c1638d12bab5701808b6A 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-00843844-20251014-01322aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-user-access.yml