aops-apollo-toolaarch642ad970767bb030f3692964dbb9deec9ca037f2d39643b6c89eacd9d6dde0d86fSmall 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-00843835-20251014-0126aops-apollo-v2.2.0-1.src.rpm/etc/aops_apollo_tool/updateinfo_config.ini/usr/bin/gen-updateinfoaops-apolloaarch646998071543aebe3430b09293a0167ce5a148054d675ae69b775ce328f95f7846Cve 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-00843835-20251014-0126aops-apollo-v2.2.0-1.src.rpm/etc/aops/conf.d/aops-apollo.ymlaops-apollosrcac8a8d948c3ebe8cdbef272d566524088d04b1b981c47de9b8df305661f2f89cCve 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-00843835-20251014-0126aops-ceresaarch64edd04016058c717b2299abf38fc74337bf797624c0748aac939e625c479341f6An 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-00843849-20251014-0204aops-ceres-v2.2.0-1.src.rpm/etc/aops/ceres.conf/usr/bin/aops-ceresaops-ceressrce0e775e0f5710ff8dadb6438f5ac46d527c0c7310fe9eac313e15c015747d4d9An 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-00843849-20251014-0204aops-hermesaarch646c08e9f990dbf787241fe41f718f321a241c15602132a0e7cd721f4a53178023Web for an intelligent diagnose frameWeb for an intelligent diagnose framehttps://gitee.com/openeuler/aops-hermesMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843849-20251014-0204aops-hermes-v2.2.0-1.src.rpmaops-hermessrc18be70584384ec52706ae13b1814584d923c63056141d2460c2422e24162b266Web for an intelligent diagnose frameWeb for an intelligent diagnose framehttps://gitee.com/openeuler/aops-hermesMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843849-20251014-0204aops-toolsaarch64fcd99a13571694a504d4a46acdf9334eafa39709e787a1b8ea8f5b3c1e7f3c39aops scriptstools for aops, it's about aops deployhttps://gitee.com/openeuler/aops-vulcanusMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843831-20251014-0124aops-vulcanus-v2.2.0-1.src.rpmaops-vulcanusaarch64320cd181436ef01767ba852f563fe0f3015a0f1cce868dd160331c51a7f59d08A 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-00843831-20251014-0124aops-vulcanus-v2.2.0-1.src.rpm/etc/aops/aops-config.ymlaops-vulcanussrc2dae8f5836a6b0aea1e3027e6a8f48f0a18ae3ec86bde9eb70448b0e99decb96A 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-00843831-20251014-0124aops-zeusaarch648a5cf674b94540b1b3d8b0dc68844f25da8d0720dd5e17cde4f5264bca7c690eA 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-00843831-20251014-0124aops-zeus-v2.2.0-1.src.rpm/usr/bin/aops-cliaops-zeussrcb47bb1b75eb6a04fe1f25ea7f8cb49f9e840a44feb9f3aa5ba5f0b138abf8fbfA 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-00843831-20251014-0124async-taskaarch64ab37e84f627dcb11bb90daafd106e0dfb03e2f74998781b6a62bf6133ede8f11A async task of aops.A async task of aops.https://gitee.com/openeuler/aops-zeusMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843831-20251014-0124aops-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-taskauthHubaarch6493c0abb23fa33b1297530f5a9cde72ee9a90728b27e2367d11a981d0a88191e5Authentication 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-00843839-20251014-0127authHub-v2.2.0-3.src.rpm/etc/aops/conf.d/authhub.yml/etc/nginx/conf.d/authhub.nginx.confauthHubsrca6444c9855561fdc21c06596413f0e0999e87dfff698189b6523cecf9cdf94b7Authentication 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-00843839-20251014-0127authhub-webaarch6476ad722cb8126e726801e5fd2809a71b0663e0769799b6338e220ebc1b2a5618Authentication authority web based on oauth2Authentication authority web based on oauth2https://gitee.com/openeuler/authHubMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843839-20251014-0127authHub-v2.2.0-3.src.rpmdnf-hotpatch-pluginaarch640fe84004b0f92253263ae54e8d73499e3704b289cc170f0d026521f57d4cfacednf hotpatch plugindnf hotpatch plugin, it's about hotpatch query and fixhttps://gitee.com/openeuler/aops-ceresMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843849-20251014-0204aops-ceres-v2.2.0-1.src.rpmgala-anteateraarch64ee4371ed702d66bb9949b23ec8cd64699055b8cf20774b7ed338184f6b757c31A 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-00843837-20251014-0127gala-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-anteatersrcb22e9f684e28797a509341c5f8d48b6452fd863c8da83af1a77f20a920696f90A 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-00843837-20251014-0127gala-gopheraarch646cb99197c205430e96816c7ffbabce5ab08ccfb0b48399d69f6972f0b8309b5aIntelligent 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-00843839-20251014-0127gala-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-gophersrc14db2d3b2926fbf77daa1aae8602be6be9e5bbf2067981587a424ec2b8923954Intelligent 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-00843839-20251014-0127gala-gopher-debuginfoaarch643189599967c9e27954966c1bba6d0c6c05be55be91f15f733356a7c0c027064bDebug 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-00843839-20251014-0127gala-gopher-2.0.2-2.src.rpm/usr/lib/debug/usr/bin/gala-gopher-2.0.2-2.aarch64.debug/usr/lib/debug/usr/bin/gopher-ctl-2.0.2-2.aarch64.debuggala-gopher-debugsourceaarch6474953342c4f2c618cc4244df94bd08065c17c91aaf452d2115afe6a3848479c2Debug 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-00843839-20251014-0127gala-gopher-2.0.2-2.src.rpmgala-inferenceaarch64b689370b4d021a24e1627161ad62d5f2e0d309889621c58af06663ac455864d7Cause 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-00843828-20251014-0123gala-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-opsaarch64e275002a6ce144c806c8e6d32cca98d888e54956010276c2b1554ea48abf39e7gala-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-00843828-20251014-0123gala-spider-2.0.1-1.src.rpmgala-spideraarch6442934d5c6b3975cc32afc1f0342f0cc6f12017362ae8245812c00311ae2c2b8fOS 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-00843828-20251014-0123gala-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-spidersrcf2f21d43abf5c02845ef02407c64084ff5b84566097a12fe251254ad26f6f101OS 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-00843828-20251014-0123python-pandas-flavorsrcd9b1a123653f6431163cf7a643b47a748bb8b2ccb1a78009e8df9460c2dfa599The 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-00843839-20251014-0127python-pandas-flavor-helpnoarch677222c0460129a3c8de041d3cef52dda56c7be85cc3c5237356f9a4257b41a7Development 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-00843839-20251014-0127python-pandas-flavor-0.6.0-1.src.rpmpython-pingouinsrc1cd4d293883b1d6ccb86b0126e10aed397d58c94afb63d1a2f466f132939a8a0Pingouin: 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-00843837-20251014-0127python-pingouin-helpnoarche6d3b25d39eafb5fbf01e26d5f4860049e9a6edbdf82d46a86ffec5767f5b93bDevelopment 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-00843837-20251014-0127python-pingouin-0.5.5-1.src.rpmpython-seabornsrc820e7c686cd5a0dd4fe10127b29f3c10e32ff1ccdef7cefa0cc10f103959780eStatistical data visualizationhttps://pypi.org/project/seaborn/NoneopenEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843837-20251014-0127python-seaborn-helpnoarch8bbb0d01505ea98466c9a578231e350b6c68a9d3d756bd270a06d20caf5f6f99Development documents and examples for seabornhttps://pypi.org/project/seaborn/NoneopenEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843837-20251014-0127python-seaborn-0.13.2-1.src.rpmpython3-gala-anteateraarch64f94e5f9d62d01b3985c5080791a947dbd46fcf1fbadeb6595a590f3bad6d7626Python3 package of gala-anteaterPython3 package of gala-anteaterhttps://gitee.com/openeuler/gala-anteaterMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843837-20251014-0127gala-anteater-3.0.1-1.src.rpmpython3-gala-inferenceaarch6490b3c667d3c809e8683dd8246e088e60e11afe78c11f2d3862aab45a4338b477Python3 package of gala-inferencePython3 package of gala-inferencehttps://gitee.com/openeuler/gala-spiderMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843828-20251014-0123gala-spider-2.0.1-1.src.rpmpython3-gala-spideraarch64a599b1494c26845a35110a44a5c743752a3fc007a1753fef1a987dc7c35c2a58Python3 package of gala-spiderPython3 package of gala-spiderhttps://gitee.com/openeuler/gala-spiderMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843828-20251014-0123gala-spider-2.0.1-1.src.rpmpython3-pandas-flavornoarch7c56d4bac59e97840267ab58f2702d35744e1900ae7045a8b86b51f75b76bf09The 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-00843839-20251014-0127python-pandas-flavor-0.6.0-1.src.rpmpython3-pingouinnoarch27a905a69907a0d257ef1904c3f112241707812dc5e873122e877975258a17f0Pingouin: 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-00843837-20251014-0127python-pingouin-0.5.5-1.src.rpmpython3-seabornnoarch49c90c9a3c275fb3231cbc6d2dcdd417475641d10ee21810e86a238e649dbbf1Statistical data visualizationhttps://pypi.org/project/seaborn/NoneopenEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843837-20251014-0127python-seaborn-0.13.2-1.src.rpmzeus-distributeaarch6428b42180f0be70ec1c7373337a16cb0ef9853f671b55acef87c78f93569e184eA distributed service of aops.A distributed service of aops.https://gitee.com/openeuler/aops-zeusMulanPSL2openEuler Copr - user HLG523653667Unspecifiedeur-prod-workerlocal-aarch64-normal-prod-00843831-20251014-0124aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-distribute.ymlzeus-host-informationaarch644e4eed21b44d610811424985bf192dfa19751f20d71d222f54442a61cced9f9fA 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-00843831-20251014-0124aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-host-information.ymlzeus-operationaarch6410e6ddd61fe89f211933af06e6deabdfddd498338d37a89057679d96a1fc2ff4A 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-00843831-20251014-0124aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-operation.ymlzeus-user-accessaarch647194dfd8234011fdf0ce1ffb4e77942385b46a051d4868759229d90a1a1294e2A 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-00843831-20251014-0124aops-zeus-v2.2.0-1.src.rpm/etc/aops/conf.d/zeus-user-access.yml