semvec/pypi-packages huggingface dataset:
logger4py 0.9.6
Custom Logging Python Package
Keywords: sample,setuptools,development

**Logger4py**  

**_Custom logging module_**  

**Usage**  

> install package 
```
pip install logger4py
```

> How to use logger4py  

```
from logger4py import Logger  
log = Logger.get_logger('my_module')
# 'my_module' is the name of the logger object got from the logger4py.json file in 'loggers' section  

log.debug('this is a debug message')  
log.info('this is an info message')  
log.error('this is an error message')  
log.warning('this is a warning message')
```


**Demo**    

```
2021-05-20T00:06:20.736	DEBUG	35692	44080	test_log	this is a debug message      
2021-05-20T00:06:20.736	INFO	35692	44080	test_log	this is an info message    
2021-05-20T00:06:20.736	ERROR	35692	44080	test_log	this is an error message    
2021-05-20T00:06:20.736	WARNING	35692	44080	test_log	this is a warning message    
2021-05-20T10:13:09.552	DEBUG	42864	43524	test_log	this is a debug message    
2021-05-20T10:13:09.552	INFO	42864	43524	test_log	this is an info message    
2021-05-20T10:13:09.552	ERROR	42864	43524	test_log	this is an error message    
2021-05-20T10:13:09.553	WARNING	42864	43524	test_log	this is a warning message
```
  

**Configuration file**  
1. Default configuration file path:

> module directory/logger4py.json

```
.\<your virtual environment>\Lib\site-packages\logger4py\logger4py.json
```
In my test environment :

```
C:\Users\mahmoud.aouinti\Desktop\test\env\Lib\site-packages\logger4py\logger4py.json
```
 
2. Default Configuration file content:

```
{
  "version": 1,
  "disable_existing_loggers": false,
  "formatters": {
    "simple": {
      "datefmt": "%Y-%m-%dT%H:%M:%S",
      "format": "%(asctime)s.%(msecs)03d\t%(levelname)s\t%(thread)d\t%(process)d\t%(module)s\t%(message)s"
      
    },
    "simple_message": {
      "datefmt": "%Y-%m-%dT%H:%M:%S",
      "format": "%(message)s"
      
    }
  },

  "handlers": {
    "console": {
      "class": "logging.StreamHandler",
      "level": "DEBUG",
      "formatter": "simple",
      "stream": "ext://sys.stdout"
    },

    "info_file_handler": {
      "class": "logging.handlers.RotatingFileHandler",
      "level": "DEBUG",
      "formatter": "simple",
      "filename": "info.log",
      "maxBytes": 10485760,
      "backupCount": 20,
      "encoding": "utf8"
    }
  },

  "loggers": {
     "my_module": {
        "level": "DEBUG",
        "handlers": ["info_file_handler"],
        "propagate": false
      }
    },

  "root": {
    "level": "ERROR",
    "handlers": ["console", "info_file_handler"]
  }
}

```
gcandle 0.0.11
A library for quant trade
Requires Python: >=3.6

# gcandle 轻量极速的本地量化交易框架

目前针对A股。

## 可以做什么
使用本框架可以轻松开发出你自己的量化模型。设计良好的API可以让你专注于交易模型的开发，最大限度减小无关的工作量。请看示例项目。
本框架包含数据下载，指标开发，策略回测分析的完整功能。实盘交易暂不包含，本地实盘可以参考easytrader等方案，但量化交易的核心，应该是策略模型。
有了模型，还怕没办法交易么？至于在线方案，我本人是不放心策略安全的。
用本框架开发的模型，可以把选出的股票用其他任何实盘方案实现交易，同时模型却是绝对安全的，因为你对交易软件的输入只会是你模型的结果。

## 轻量
代码优雅紧凑，可以轻松看完全部代码，也可轻易扩展功能。

## 极速
速度为什么重要，因为策略需要不停的调试。
首先数据在本地。在线方案要做一个复杂的策略模型，对全市场进行扫描计算，几乎是不可能完成的任务，时间太长。
本框架封装了多进程的指标计算，根据主要指标对全市场数据过滤后，保存基本的股票池和策略关心的指标。
这个基本股票池及预计算的指标很重要，因为这之后你应该进入一个调试指标组合及参数优化的循环中，有了这个基础，几年的全市场扫描回测只需要几十秒。你调试策略的速度会大大提高。
当然前提是你的电脑不能太差，对单核cpu就没什么用了。
顺便说下硬件配置推荐：

cpu 8核8线程。对计算密集的应用，主要看核心数，多一倍的线程数没用。
内存至少16G，推荐32G，有钱可以64G。
硬盘：如果要做分钟级的策略，至少准备1T的吧，日线级有个500G应该够了。并不是k线数据本身有这么大，而是考虑你的整个系统占用。我现在是1T SSD+3T机械硬盘。
mongodb的存储管理没精通，但目前掌握的是，如果创建了一个很大的集合，drop它之后存储空间仍然没释放，要想减小存储空间占用，就要做一次database repair，repair过程会临时占用大量磁盘空间，所以当mongodb占了你的一半磁盘，你想缩减空间的时候就很麻烦了。

## 为什么做这个框架
因为找不到满足我需求的框架，即上述两个条件都满足的。

## 开始使用
OS: Linux. Windows还没测试，应该是可以，但是有可能你需要自行解决一些小问题。

Python： 3.6.8以上。推荐使用anaconda创建虚拟python环境。请参考 [官方网站](https://www.anaconda.com/products/individual)

Mongodb：4.0.20以上。推荐一个客户端程序 [Robo 3T](https://robomongo.org/)

以上都装好了，你可以有两种方法使用gcandle。
1. 用pip安装。这种方式会把gcandle的包安装到python环境的site-packages目录下。

$ pip install gcandle

2. 直接clone本仓库代码，然后在代码根目录运行

$ ./install-dev.sh 

这个命令会用开发方式安装本项目，意思是并不会真正把代码打包放到site-packages下，而是创建一个链接，指向本项目的代码根目录。
好处是，你可以随时修改本项目的代码，在客户端项目中，修改实时生效。

以上都搞定，clone这个 [示例](https://github.com/yangchanghua/gcandle_client) 项目，然后尝试跑通，基本就明白怎么用了。