%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
```
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
```
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
```
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 - 0.4.32-1
- Package Spec generated