aops-apollo-toolaarch6433f5018e36a26dde7d665dfccccd5b834d1c0e9f730ed753deb3cdbf2d64807eSmall 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-aarch64-normal-prod-00843651-20250920-0134aops-apollo-v2.2.0-1.src.rpm/etc/aops_apollo_tool/updateinfo_config.ini/usr/bin/gen-updateinfoaops-apolloaarch6489c35830a62c024b3994271013c9dbbd5d5bb4663d66714cb7be5f8cb6e40063Cve 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-aarch64-normal-prod-00843651-20250920-0134aops-apollo-v2.2.0-1.src.rpm/etc/aops/conf.d/aops-apollo.ymlaops-apollosrc1caa2b83c029d31030278d61c4338ade05a30fb7197cb3ca05f8aade436d7fbfCve 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-aarch64-normal-prod-00843651-20250920-0134aops-ceresaarch6479f9e09037c7a169f93952a79d584d19c6949e1041639bde89aa08cd866c1088An 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-aarch64-normal-prod-00843648-20250919-0809aops-ceres-v2.2.0-1.src.rpm/etc/aops/ceres.conf/usr/bin/aops-ceresaops-ceresaarch64df9c7618fcc0e7d10ed0be7ce38decc818a54ee04ff0f63aaf49acadc94d98ffAn 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-aarch64-normal-prod-00843663-20250922-0323aops-ceres-v2.2.0-1.src.rpm/etc/aops/ceres.conf/usr/bin/aops-ceresaops-ceressrc64a7e59f5180e4e997743da13f692467e76dc4dabee6aeb4f1a342be12e3a2d0An 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-aarch64-normal-prod-00843648-20250919-0809aops-ceressrca2249fc3a4b158a4b3121073981a3d63a838efb67f03c371e4c1116d90309655An 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-aarch64-normal-prod-00843663-20250922-0323aops-hermesaarch641c4b58bd8f7be9c553c3d213818a057c4601b20cdff483ed685df2e925aa5ed2Web for an intelligent diagnose frameWeb for an intelligent diagnose framehttps://gitee.com/openeuler/aops-hermesMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843653-20250920-0135aops-hermes-v2.2.0-1.src.rpmaops-hermesaarch64de58dce139edfd542620b39f0d99e83b9e689292e76eaf4b8ac69060e504ae6fWeb for an intelligent diagnose frameWeb for an intelligent diagnose framehttps://gitee.com/openeuler/aops-hermesMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843663-20250922-0323aops-hermes-v2.2.0-1.src.rpmaops-hermessrccd12e2d91a04cef663f4aad34339e4586a14f4ade9329d3ad24c2cf71588900fWeb for an intelligent diagnose frameWeb for an intelligent diagnose framehttps://gitee.com/openeuler/aops-hermesMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843653-20250920-0135aops-hermessrcdbbb7dbcbcd24b970e651972588eb8e12e4c598aba4ecdaa9fd097385383aa98Web for an intelligent diagnose frameWeb for an intelligent diagnose framehttps://gitee.com/openeuler/aops-hermesMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843663-20250922-0323aops-toolsaarch64a115a88c222659117cdff162eb019e4ece152c7fe27276e066d6b8d7403c3e60aops scriptstools for aops, it's about aops deployhttps://gitee.com/openeuler/aops-vulcanusMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843648-20250919-0809aops-vulcanus-v2.2.0-1.src.rpmaops-vulcanusaarch643f49528ffa0779e2cb826dbd41ca4354a254b56b89b3ed76953e406b942b815aA 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-aarch64-normal-prod-00843648-20250919-0809aops-vulcanus-v2.2.0-1.src.rpm/etc/aops/aops-config.ymlaops-vulcanussrca1295eb26044f48a0526210c2662da2ca7a671a5bb9a557bbbd7a4e600c13944A 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-aarch64-normal-prod-00843648-20250919-0809aops-zeusaarch64d93dfa654e726932f09cb81c790e316dfad2bd425677adffad0b6bc4b671fba1A 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-aarch64-normal-prod-00843648-20250919-0809aops-zeus-v2.2.0-1.src.rpm/usr/bin/aops-cliaops-zeussrcf6fa2204ddc9065c6274d171324811e68003ee1d19b1a709b66cff6830db3fb3A 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-aarch64-normal-prod-00843648-20250919-0809async-taskaarch642e65814aee2efdbe9b26ba4f42f707b9c83dbbb1577c32a1fbc2134349cdc282A async task of aops.A async task of aops.https://gitee.com/openeuler/aops-zeusMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843648-20250919-0809aops-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-taskauthHubaarch645b94b53b9e327a845b4f36d51a59381ec1f677b3c5de4a8af2e3c49cd5d523f2Authentication 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-aarch64-normal-prod-00843653-20250920-0135authHub-v2.2.0-3.src.rpm/etc/aops/conf.d/authhub.yml/etc/nginx/conf.d/authhub.nginx.confauthHubsrc6104d736bdced6a888338f5034f4c5bcd8c032716ed1e1b00ccf08100bbcc56cAuthentication 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-aarch64-normal-prod-00843653-20250920-0135authhub-webaarch647e18ce5a770f7767b0c4cc8bd484a2402abf4e2e561c09de339367f2fe77d324Authentication authority web based on oauth2Authentication authority web based on oauth2https://gitee.com/openeuler/authHubMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843653-20250920-0135authHub-v2.2.0-3.src.rpmdnf-hotpatch-pluginaarch648a7cbfde56bf7af728c93e788e3b5d5218d7f1ef5e53080ed4eb6fb7ef76083ddnf hotpatch plugindnf hotpatch plugin, it's about hotpatch query and fixhttps://gitee.com/openeuler/aops-ceresMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843648-20250919-0809aops-ceres-v2.2.0-1.src.rpmdnf-hotpatch-pluginaarch6409c8302e517e2e3de97edcfdd4fe041dd4e92752813d35729ffcf1a4670942bbdnf hotpatch plugindnf hotpatch plugin, it's about hotpatch query and fixhttps://gitee.com/openeuler/aops-ceresMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843663-20250922-0323aops-ceres-v2.2.0-1.src.rpmgala-anteateraarch646cd97b4005337ec2b01e5dad51d6c38441f3eb1d84482e1cf3bcffd44f33bb8cA 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-aarch64-normal-prod-00843653-20250920-0135gala-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-anteatersrca71cdba94ea3dbcf6a794c42e2a78b81686cc6a61f37ffb363ed060bfb43a07cA 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-aarch64-normal-prod-00843653-20250920-0135gala-gopheraarch64a0d74fdfb5eec0d4c4b8b09a355c30a5d8afe0f444352b09d952195cd9e72747Intelligent 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-aarch64-normal-prod-00843654-20250920-0136gala-gopher-2.0.2-1.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-gophersrc39e60aa8a00ec5f1209483ebe5ae3e9ef95321091150f40bc7ffe1afcd35586eIntelligent 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-aarch64-normal-prod-00843654-20250920-0136gala-gopher-debuginfoaarch64ae7827f384ad01a4aee9437d8c0d9f58089bfffb584d6184343daae5d4255a30Debug 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-aarch64-normal-prod-00843654-20250920-0136gala-gopher-2.0.2-1.src.rpm/usr/lib/debug/usr/bin/gala-gopher-2.0.2-1.aarch64.debug/usr/lib/debug/usr/bin/gopher-ctl-2.0.2-1.aarch64.debuggala-gopher-debugsourceaarch6483001d50865b29cc8f5c434755ea07ff0a1cd6fe77c4e385a9d9894dbef3596fDebug 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-aarch64-normal-prod-00843654-20250920-0136gala-gopher-2.0.2-1.src.rpmgala-inferenceaarch64cb45f93bb9f61ebd0b2db0d42e3ddf517bce024c7a7f5c15df7404c1b6048b5fCause inference module for gala-ops projectCause inference module for A-Ops projecthttps://gitee.com/openeuler/gala-spiderMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843648-20250919-0809gala-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-opsaarch645302c0b5f8521598301ce17a0a6ee908fd661ad0f641817af5400f5776988154gala-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-aarch64-normal-prod-00843648-20250919-0809gala-spider-2.0.1-1.src.rpmgala-spideraarch64dc7e3b43bf884bfe4c9b33a74fa9621e6e4f16959e3907b26bbc95cc44b81265OS 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-aarch64-normal-prod-00843648-20250919-0809gala-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-storagegala-spidersrc177374c3ba3182e1370d313f429d6337c38b780233e8b1887f24df3b4178390dOS 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-aarch64-normal-prod-00843648-20250919-0809python-pandas-flavorsrcdeba25a90834a8c108aa268d67763b9a639a1e9409224d73e437b49eee4059bdThe 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-aarch64-normal-prod-00843653-20250920-0135python-pandas-flavor-helpnoarch2a6b6bfa79eb5b0ac5e67ea66c6a75d6e08b3f810ddec1342390b937367b564cDevelopment 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-aarch64-normal-prod-00843653-20250920-0135python-pandas-flavor-0.6.0-1.src.rpmpython-pingouinsrc61ce46e2bc69ab32221d6c3c2071fc46c4c2878118a886ca1c9021f6135c2ed6Pingouin: 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-aarch64-normal-prod-00843648-20250919-0809python-pingouin-helpnoarch673d17167988085355c50d926e5ddfaeaa10328b686253588d82a1f5eb8769ebDevelopment 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-aarch64-normal-prod-00843648-20250919-0809python-pingouin-0.5.5-1.src.rpmpython-seabornsrc9059aaee7e7900e40fd37d28b619f8fc8d2a53d5b385c614198c26145d853e0dStatistical data visualizationhttps://pypi.org/project/seaborn/NoneopenEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843653-20250920-0135python-seaborn-helpnoarchdacdb82228d7280c50ec258789dcf27f14897c170bda82093535af20e9dafcccDevelopment documents and examples for seabornhttps://pypi.org/project/seaborn/NoneopenEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843653-20250920-0135python-seaborn-0.13.2-1.src.rpmpython3-gala-anteateraarch64b5b107b15481aa8a04e6d3870c45b50af99e9a6ec2c8e10e3d76eb0b923df46dPython3 package of gala-anteaterPython3 package of gala-anteaterhttps://gitee.com/openeuler/gala-anteaterMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843653-20250920-0135gala-anteater-3.0.1-1.src.rpmpython3-gala-inferenceaarch649eebab2dff3368794382b9981af304bfb40372ee2eeb5423ac5b32c086de78edPython3 package of gala-inferencePython3 package of gala-inferencehttps://gitee.com/openeuler/gala-spiderMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843648-20250919-0809gala-spider-2.0.1-1.src.rpmpython3-gala-spideraarch64bff8a6190acba373aaddb7871129d2b5615f239346355177abfb69be74ec32eaPython3 package of gala-spiderPython3 package of gala-spiderhttps://gitee.com/openeuler/gala-spiderMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843648-20250919-0809gala-spider-2.0.1-1.src.rpmpython3-pandas-flavornoarchb0521391903a0b888527c149d9cb05b6f8e9fa9d9c1ca00d95bf26860ad32716The 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-aarch64-normal-prod-00843653-20250920-0135python-pandas-flavor-0.6.0-1.src.rpmpython3-pingouinnoarch3017eef5c160eebbeaaf7534e7185cb0c2f6a3046e66beea59694a15256733daPingouin: 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-aarch64-normal-prod-00843648-20250919-0809python-pingouin-0.5.5-1.src.rpmpython3-seabornnoarch985567c44790ffc98380d78f32e54e1be342b454fd78e25cbf7627c7de89d9b4Statistical data visualizationhttps://pypi.org/project/seaborn/NoneopenEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843653-20250920-0135python-seaborn-0.13.2-1.src.rpmzeus-distributeaarch648ec09b2cb104979a766e5db64d16e88a60d2d3625561f123da1572d6a5caac18A distributed service of aops.A distributed service of aops.https://gitee.com/openeuler/aops-zeusMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843648-20250919-0809aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-distribute.ymlzeus-host-informationaarch6471bef99c37a7b8e80643b97909b2bac72cbe326a4facad7983f559e4677a0457A 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-aarch64-normal-prod-00843648-20250919-0809aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-host-information.ymlzeus-operationaarch64cb6736dcd619837c379a482e2240edb73b235cbc8c81cdd460b97f7a523de403A 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-aarch64-normal-prod-00843648-20250919-0809aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-operation.ymlzeus-user-accessaarch6472925dc113e1d3a63f6efd409daa58bcbeb5caba8553160ae3ed569851dc6e4bA 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-aarch64-normal-prod-00843648-20250919-0809aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-user-access.yml