Skip to main content

binmao linbs

Project description

py脚手架

安装

python版本号: 3.10.12

pip安装: pip install binmao_libs

相关模块

orm

使用peeweeorm框架

代码样例:

from binmao_libs import db
from peewee import *

# 创建database实例
mysql_db = db.connect(config.mysql_connection)
# 创建orm对象(表访问对象)
class MetaMoment(Model):
	"""动态实体类
    """
	id = IntegerField(unique=True)
	uid = CharField()
	text = CharField()
	category_id = IntegerField(column_name="categoryId")
	created_at = DateTimeField(column_name="createdAt")
	class Meta:
		database = mysql_db
		table_name = "moment__moment"

class MetaUserInfo(Model):
	"""用户信息
	"""
	id = IntegerField(unique=True)
	nickname = CharField()
	class Meta:
		database = mysql_db
		table_name = "metacat__user_info"

# 表查询
cursor = MetaMoment.select().limit(10)
for record in cursor:
	print(f"text: {record.text}")
	
# 设置特定返回字段(prject)
cursor = MetaMoment.select(MetaMoment.id.alias("_id")).limit(10)
for record in cursor:
	print(f"_id: {record._id}")

# 返回使用函数
cursor = MetaMoment.select(fn.COUNT(MetaMoment.id))
print(f"总数: {next(iter(cursor))}")

# 带游标查询
# 偏移10条数据,返回后续5条
cursor = MetaMoment.select().offset(10).limit(5)
for record in cursor:
	print(f"id: {record.id}")

# 简单的联合查询
# 注意使用.dicts方法,将返回结果字典化
cursor = MetaMoment.select(MetaUserInfo.nickname).join(MetaUserInfo, on=(MetaUserInfo.id == MetaMoment.uid)).limit(1).dicts()
for record in cursor:
	print(f"{record}")

# 更新操作
MetaMoment.update(text = "Hello World. 12345").where(MetaMoment.id == 1).execute()
  
# 插入
# MetaMoment.create(text = "Hello World. 12345").execute()

参考:

http服务

http服务包含对以下框架的封装:

  • Flask http服务框架
  • Flasgger swagger服务框架
  • prometheus_flask_exporter 发布prometheus格式指标

举例:

from binmao_libs import https
from flask import request

# post请求
@https.app.post("/hello")
def hello():
    """hello
    ---
    parameters:
      - name: body
        in: body
        required: true
        schema:
          required:
            - name
          properties:
            name:
              type: string
              description: name.
              default: "csj"
    response:
        200:
            description: 成功返回
            examples:
                {"state": "0", "msg": "success"}
    """
    name = request.json["name"]
    return json.dumps({"state": "0", "msg": "success", "data": {"name": name}})

https.run(application_name="binmaolibs")

参考:

oss服务

oss服务封装了七牛云存储对象的接口

使用举例

import base_test
import qiniu
from binmao_libs.oss import OssClient

# 构建oss_client
bucket_name = ''
oss_gateway = ""
access_key = ""
secret_key = ""
oss_client = OssClient(access_key, secret_key, bucket_name)

localfile = r"d:\BaiduSyncdisk\DatasetId_1864493_1687253829.zip"
key = "models/demo/1.png"
progress_handler = lambda progress: print(f"progress: {progress}")
oss_client.upload(localfile, key, progress_handler = progress_handler)
url = oss_gateway + "/" + key
print(url)

模型文件上传/下载服务

提供中心化管理模型方案,为公司内部模型共享提供便利

binmao-libs.yaml

项目目录中引入binmao-libs.yaml配置

model:
  ftp:
    host: "192.168.9.19"
    usr: "wallan"
    pwd: "wallan1702"

上传模型文件

from binmao_libs.model import download_model, upload_model

upload_model(r"/Users/chishijie/Documents/bingmao/python/binmao-libs/dist", "binmao-libs")

下载模型文件

from binmao_libs.model import download_model, upload_model

download_model("binmao-libs", r"/Users/chishijie/Documents/bingmao/python/binmao-libs/tmp")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

binmao_libs-1.2.1.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

binmao_libs-1.2.1-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file binmao_libs-1.2.1.tar.gz.

File metadata

  • Download URL: binmao_libs-1.2.1.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for binmao_libs-1.2.1.tar.gz
Algorithm Hash digest
SHA256 8cc0dea76681f76de0ceaf09de56f1815c366d5a691c9930d570a493c2717a13
MD5 ad4179a9bae293772b031cb64524cee5
BLAKE2b-256 bd30d69c64d9d615023e135e0e69e082980ecd393f6c7b3c367e88f9d6118190

See more details on using hashes here.

File details

Details for the file binmao_libs-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: binmao_libs-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for binmao_libs-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 31ff17f238f8a336a78b178020bd8b28a91a8b401fb1e4be4405f43221305a7f
MD5 abbe332453a3172d065b6ffc82a0a8af
BLAKE2b-256 16da6afebe5fab176b6f41f90739a6e90d3ecd483d2e1fa248d27642ed8dc56e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page