diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-05 07:19:10 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 07:19:10 +0000 |
commit | fc4b43867d147b5c89c7965b9747ee5c07347fba (patch) | |
tree | a8c119b77f7565d1c0b6154168ed05f03b07210e | |
parent | e8d6f30839825939211f7cee201dd56169cf92bf (diff) |
automatic import of python-ai-harnessopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-ai-harness.spec | 361 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 363 insertions, 0 deletions
@@ -0,0 +1 @@ +/ai-harness-0.4.32.tar.gz diff --git a/python-ai-harness.spec b/python-ai-harness.spec new file mode 100644 index 0000000..52371de --- /dev/null +++ b/python-ai-harness.spec @@ -0,0 +1,361 @@ +%global _empty_manifest_terminate_build 0 +Name: python-ai-harness +Version: 0.4.32 +Release: 1 +Summary: A harness project for ML & DL +License: MIT +URL: https://github.com/aicanhelp/ai-harness +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c7/b4/698e1df82623a256760e29a9ec1aa2e8ddb2b8546338747d454780fe2fb0/ai-harness-0.4.32.tar.gz +BuildArch: noarch + +Requires: python3-pyyaml +Requires: python3-check-manifest +Requires: python3-coverage +Requires: python3-pytest + +%description +# AI Harness + +## Introduction +This project would like to supply some convenient tools for the machine learning and deep learning. +Current features: +- XMLConfiguration: for loading a configuration defined in xml files into a Python Object +- Arguments: Mapping a Python Object to the arguments of argparse +- inspector: Some convenient method for class/object +- executors: Some convenient ProcessExecutor +- fileutils: DirectoryNavigator, FileReadPipeLine +- others: + +## Log +- 2019.4.18, version: 0.3.0: Added distributed training tools for python +- 2019.4.23, version: 0.3.5: Added a Json file Reader +- 2019.4.24, version: 0.3.6: Added a data utils for processing data +- 2019.4.26, version: 0.3.7 Added a data utils for processing data for zip file +- 2019.4.28, version: 0.3.8 Added QueueExecutor + +## Examples +### 1. XMLConfiguration +##### (1) Define the configuration in xml file like: +```xml +<?xml version="1.0" encoding="UTF-8" ?> +<configuration> + <arg name="name" default="TestName" help="Name Test Help"/> + <arg name="age" default="20" help="Age Test Help"/> + <group name="address"> + <arg name="home" default="shanghai" help="Home test Help"/> + <arg name="phone" default="136" help="Phone test Help"/> + </group> + <group name="education"> + <arg name="school" default="beijing" help="school test Help"/> + <arg name="grade" default="master" help="grade test Help"/> + </group> +</configuration> +``` +you can define multiple xml configuration files, and if the name is same, the value of the later will cover the previous. +#### (3) Define the configuration class like: +``` +from aiharness.configuration import configclass,field + +@configclass +class Address: + phone: int = field(139, "phone help") + home: str = field("beijing", "phone help") + + +@configclass +class Education: + school: str = field('ustb', "phone help") + grade: str = field("master", "phone help") + + +@configclass +class Config: + name: str = field("test", "name help") + age: str = field(10, "age help") + address: Address = Address() + education: Education = Education() +``` +#### (3) Load the xml configuration into python object as folling: +``` +from aiharness.configuration import XmlConfiguration + +config:Config=XmlConfiguration(Config).load(['configuration1.xml','configuration2.xml']) +``` +### Arguments Example +Generally, we use argparse as following: +``` +import argparse +parser = argparse.ArgumentParser() +parser.add_argument("--name",default='TEST',help='name help') +parser.add_argument("--age",default=18,help='age help') +arguments=parser.parse_args() +``` +And you can got a arguments object. + +Here give an example showing how to load a xml configuration and set to argparse arguments and to parse the arguments into a object you defined. +And here the Config Class and 'configuration.xml' are same with those of the Configuration example. + +Firstly, in fact, the Config Class instead of the codes of 'add_argument' of the argparse.ArgumentParser. +Secondly, you can put the configuration into a xml file so that you can change it conveniently. + +``` +from aiharness.configuration import Arguments, XmlConfiguration + +config: Config = XmlConfiguration(Config).load(['configuration.xml']) +arguments = Arguments(config) +config: Config = arguments.parse() + +``` + + + + + +%package -n python3-ai-harness +Summary: A harness project for ML & DL +Provides: python-ai-harness +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-ai-harness +# AI Harness + +## Introduction +This project would like to supply some convenient tools for the machine learning and deep learning. +Current features: +- XMLConfiguration: for loading a configuration defined in xml files into a Python Object +- Arguments: Mapping a Python Object to the arguments of argparse +- inspector: Some convenient method for class/object +- executors: Some convenient ProcessExecutor +- fileutils: DirectoryNavigator, FileReadPipeLine +- others: + +## Log +- 2019.4.18, version: 0.3.0: Added distributed training tools for python +- 2019.4.23, version: 0.3.5: Added a Json file Reader +- 2019.4.24, version: 0.3.6: Added a data utils for processing data +- 2019.4.26, version: 0.3.7 Added a data utils for processing data for zip file +- 2019.4.28, version: 0.3.8 Added QueueExecutor + +## Examples +### 1. XMLConfiguration +##### (1) Define the configuration in xml file like: +```xml +<?xml version="1.0" encoding="UTF-8" ?> +<configuration> + <arg name="name" default="TestName" help="Name Test Help"/> + <arg name="age" default="20" help="Age Test Help"/> + <group name="address"> + <arg name="home" default="shanghai" help="Home test Help"/> + <arg name="phone" default="136" help="Phone test Help"/> + </group> + <group name="education"> + <arg name="school" default="beijing" help="school test Help"/> + <arg name="grade" default="master" help="grade test Help"/> + </group> +</configuration> +``` +you can define multiple xml configuration files, and if the name is same, the value of the later will cover the previous. +#### (3) Define the configuration class like: +``` +from aiharness.configuration import configclass,field + +@configclass +class Address: + phone: int = field(139, "phone help") + home: str = field("beijing", "phone help") + + +@configclass +class Education: + school: str = field('ustb', "phone help") + grade: str = field("master", "phone help") + + +@configclass +class Config: + name: str = field("test", "name help") + age: str = field(10, "age help") + address: Address = Address() + education: Education = Education() +``` +#### (3) Load the xml configuration into python object as folling: +``` +from aiharness.configuration import XmlConfiguration + +config:Config=XmlConfiguration(Config).load(['configuration1.xml','configuration2.xml']) +``` +### Arguments Example +Generally, we use argparse as following: +``` +import argparse +parser = argparse.ArgumentParser() +parser.add_argument("--name",default='TEST',help='name help') +parser.add_argument("--age",default=18,help='age help') +arguments=parser.parse_args() +``` +And you can got a arguments object. + +Here give an example showing how to load a xml configuration and set to argparse arguments and to parse the arguments into a object you defined. +And here the Config Class and 'configuration.xml' are same with those of the Configuration example. + +Firstly, in fact, the Config Class instead of the codes of 'add_argument' of the argparse.ArgumentParser. +Secondly, you can put the configuration into a xml file so that you can change it conveniently. + +``` +from aiharness.configuration import Arguments, XmlConfiguration + +config: Config = XmlConfiguration(Config).load(['configuration.xml']) +arguments = Arguments(config) +config: Config = arguments.parse() + +``` + + + + + +%package help +Summary: Development documents and examples for ai-harness +Provides: python3-ai-harness-doc +%description help +# AI Harness + +## Introduction +This project would like to supply some convenient tools for the machine learning and deep learning. +Current features: +- XMLConfiguration: for loading a configuration defined in xml files into a Python Object +- Arguments: Mapping a Python Object to the arguments of argparse +- inspector: Some convenient method for class/object +- executors: Some convenient ProcessExecutor +- fileutils: DirectoryNavigator, FileReadPipeLine +- others: + +## Log +- 2019.4.18, version: 0.3.0: Added distributed training tools for python +- 2019.4.23, version: 0.3.5: Added a Json file Reader +- 2019.4.24, version: 0.3.6: Added a data utils for processing data +- 2019.4.26, version: 0.3.7 Added a data utils for processing data for zip file +- 2019.4.28, version: 0.3.8 Added QueueExecutor + +## Examples +### 1. XMLConfiguration +##### (1) Define the configuration in xml file like: +```xml +<?xml version="1.0" encoding="UTF-8" ?> +<configuration> + <arg name="name" default="TestName" help="Name Test Help"/> + <arg name="age" default="20" help="Age Test Help"/> + <group name="address"> + <arg name="home" default="shanghai" help="Home test Help"/> + <arg name="phone" default="136" help="Phone test Help"/> + </group> + <group name="education"> + <arg name="school" default="beijing" help="school test Help"/> + <arg name="grade" default="master" help="grade test Help"/> + </group> +</configuration> +``` +you can define multiple xml configuration files, and if the name is same, the value of the later will cover the previous. +#### (3) Define the configuration class like: +``` +from aiharness.configuration import configclass,field + +@configclass +class Address: + phone: int = field(139, "phone help") + home: str = field("beijing", "phone help") + + +@configclass +class Education: + school: str = field('ustb', "phone help") + grade: str = field("master", "phone help") + + +@configclass +class Config: + name: str = field("test", "name help") + age: str = field(10, "age help") + address: Address = Address() + education: Education = Education() +``` +#### (3) Load the xml configuration into python object as folling: +``` +from aiharness.configuration import XmlConfiguration + +config:Config=XmlConfiguration(Config).load(['configuration1.xml','configuration2.xml']) +``` +### Arguments Example +Generally, we use argparse as following: +``` +import argparse +parser = argparse.ArgumentParser() +parser.add_argument("--name",default='TEST',help='name help') +parser.add_argument("--age",default=18,help='age help') +arguments=parser.parse_args() +``` +And you can got a arguments object. + +Here give an example showing how to load a xml configuration and set to argparse arguments and to parse the arguments into a object you defined. +And here the Config Class and 'configuration.xml' are same with those of the Configuration example. + +Firstly, in fact, the Config Class instead of the codes of 'add_argument' of the argparse.ArgumentParser. +Secondly, you can put the configuration into a xml file so that you can change it conveniently. + +``` +from aiharness.configuration import Arguments, XmlConfiguration + +config: Config = XmlConfiguration(Config).load(['configuration.xml']) +arguments = Arguments(config) +config: Config = arguments.parse() + +``` + + + + + +%prep +%autosetup -n ai-harness-0.4.32 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-ai-harness -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.4.32-1 +- Package Spec generated @@ -0,0 +1 @@ +485116891fa48d36e6656883af5b6161 ai-harness-0.4.32.tar.gz |