This commit is contained in:
guanjihuan 2023-11-14 09:37:35 +08:00
parent cb689072f9
commit 19760d4581
6 changed files with 135 additions and 130 deletions

View File

@ -1,7 +1,7 @@
[metadata] [metadata]
# replace with your username: # replace with your username:
name = guan name = guan
version = 0.1.24 version = 0.1.25
author = guanjihuan author = guanjihuan
author_email = guanjihuan@163.com author_email = guanjihuan@163.com
description = An open source python package description = An open source python package

View File

@ -1,6 +1,6 @@
Metadata-Version: 2.1 Metadata-Version: 2.1
Name: guan Name: guan
Version: 0.1.24 Version: 0.1.25
Summary: An open source python package Summary: An open source python package
Home-page: https://py.guanjihuan.com Home-page: https://py.guanjihuan.com
Author: guanjihuan Author: guanjihuan

View File

@ -12,6 +12,7 @@ src/guan/basic_functions.py
src/guan/data_processing.py src/guan/data_processing.py
src/guan/density_of_states.py src/guan/density_of_states.py
src/guan/file_processing.py src/guan/file_processing.py
src/guan/others.py
src/guan/plot_figures.py src/guan/plot_figures.py
src/guan/quantum_transport.py src/guan/quantum_transport.py
src/guan/read_and_write.py src/guan/read_and_write.py

View File

@ -13,3 +13,4 @@ from .plot_figures import *
from .read_and_write import * from .read_and_write import *
from .file_processing import * from .file_processing import *
from .data_processing import * from .data_processing import *
from .others import *

View File

@ -48,6 +48,14 @@ def find_degenerate_points(k_array, eigenvalue_array, precision=1e-2):
guan.statistics_of_guan_package() guan.statistics_of_guan_package()
return degenerate_k_array, degenerate_eigenvalue_array return degenerate_k_array, degenerate_eigenvalue_array
# 随机获得一个整数,左闭右闭
def get_random_number(start=0, end=1):
import random
rand_number = random.randint(start, end) # 左闭右闭 [start, end]
import guan
guan.statistics_of_guan_package()
return rand_number
# 选取一个种子生成固定的随机整数 # 选取一个种子生成固定的随机整数
def generate_random_int_number_for_a_specific_seed(seed=0, x_min=0, x_max=10): def generate_random_int_number_for_a_specific_seed(seed=0, x_min=0, x_max=10):
import numpy as np import numpy as np
@ -227,7 +235,7 @@ def get_the_month_before_last():
the_month_before_last = 12 the_month_before_last = 12
year_of_the_month_before_last = today.year - 1 year_of_the_month_before_last = today.year - 1
else: else:
year_of_last_month = today.year year_of_the_month_before_last = today.year
if the_month_before_last == -1: if the_month_before_last == -1:
the_month_before_last = 11 the_month_before_last = 11
year_of_the_month_before_last = today.year - 1 year_of_the_month_before_last = today.year - 1
@ -324,137 +332,41 @@ def history_data_of_one_stock(symbol='000002', period='daily', start_date="19000
guan.statistics_of_guan_package() guan.statistics_of_guan_package()
return title, stock_data return title, stock_data
# 获取Guan软件包当前模块的所有函数名 # 获取软件包中的所有模块名
def get_all_function_names_in_current_module(): def get_all_modules_in_one_package(package_name='guan'):
import pkgutil
package = __import__(package_name)
module_names = [name for _, name, _ in pkgutil.iter_modules(package.__path__)]
import guan
guan.statistics_of_guan_package()
return module_names
# 获取软件包中一个模块的所有函数名
def get_all_functions_in_one_module(module_name, package_name='guan'):
import inspect import inspect
current_module = inspect.getmodule(inspect.currentframe()) function_names = []
function_names = [name for name, obj in inspect.getmembers(current_module) if inspect.isfunction(obj)] module = __import__(f"{package_name}.{module_name}", fromlist=[""])
for name, obj in inspect.getmembers(module):
if inspect.isfunction(obj):
function_names.append(name)
import guan import guan
guan.statistics_of_guan_package() guan.statistics_of_guan_package()
return function_names return function_names
# 统计Guan软件包中的函数数量 # 获取软件包中的所有函数名
def count_functions_in_current_module(): def get_all_functions_in_one_package(package_name='guan', print_show=1):
import guan import guan
function_names = guan.get_all_function_names_in_current_module() module_names = guan.get_all_modules_in_one_package(package_name=package_name)
num_functions = len(function_names) all_function_names = []
for module_name in module_names:
function_names = guan.get_all_functions_in_one_module(module_name, package_name='guan')
if print_show == 1:
print('Module:', module_name)
for name in function_names:
all_function_names.append(name)
if print_show == 1:
print('function:', name)
if print_show == 1:
print()
guan.statistics_of_guan_package() guan.statistics_of_guan_package()
return num_functions return all_function_names
# 获取调用本函数的函数名
def get_calling_function_name(layer=1):
import inspect
caller = inspect.stack()[layer]
calling_function_name = caller.function
return calling_function_name
# 获取当前日期字符串
def get_date(bar=True):
import datetime
datetime_date = str(datetime.date.today())
if bar==False:
datetime_date = datetime_date.replace('-', '')
return datetime_date
# 获取当前时间字符串
def get_time():
import datetime
datetime_time = datetime.datetime.now().strftime('%H:%M:%S')
return datetime_time
# 获取MAC地址
def get_mac_address():
import uuid
mac_address = uuid.UUID(int=uuid.getnode()).hex[-12:].upper()
mac_address = '-'.join([mac_address[i:i+2] for i in range(0, 11, 2)])
return mac_address
# Guan软件包的使用统计不涉及到用户的个人数据
global_variable_of_first_guan_package_calling = []
def statistics_of_guan_package():
import guan
message = guan.get_calling_function_name(layer=2)
message_calling = guan.get_calling_function_name(layer=3)
global global_variable_of_first_guan_package_calling
if message not in global_variable_of_first_guan_package_calling:
global_variable_of_first_guan_package_calling.append(message)
if message_calling == '<module>':
try:
import socket
datetime_date = guan.get_date()
datetime_time = guan.get_time()
current_version = guan.get_current_version('guan')
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.settimeout(0.5)
client_socket.connect(('py.guanjihuan.com', 12345))
mac_address = guan.get_mac_address()
send_message = datetime_date + ' ' + datetime_time + ' version_'+current_version + ' MAC_address: '+mac_address+' guan.' + message+'\n'
client_socket.send(send_message.encode())
client_socket.close()
except:
pass
# 随机获得一个整数,左闭右闭
def get_random_number(start=0, end=1):
import random
rand_number = random.randint(start, end) # [start, end]
return rand_number
# 获取Python软件包的最新版本
def get_latest_version(package_name='guan', timeout=2):
import requests
url = f"https://pypi.org/pypi/{package_name}/json"
try:
response = requests.get(url, timeout=timeout)
except:
return None
if response.status_code == 200:
data = response.json()
latest_version = data["info"]["version"]
return latest_version
else:
return None
# 获取软件包的本机版本
def get_current_version(package_name='guan'):
import importlib.metadata
try:
current_version = importlib.metadata.version(package_name)
return current_version
except:
return None
# Guan软件包升级提示
def notification_of_upgrade(timeout=2):
rand_number = get_random_number(start=1, end=20)
if rand_number == 10:
try:
latest_version = get_latest_version(package_name='guan', timeout=timeout)
current_version = get_current_version('guan')
if latest_version != None and current_version != None:
if latest_version != current_version:
print('提示:您当前使用的版本是 guan-'+current_version+',目前已经有最新版本 guan-'+latest_version+'。您可以通过以下命令对软件包进行升级pip install --upgrade guan')
except:
pass
notification_of_upgrade()

91
PyPI/src/guan/others.py Normal file
View File

@ -0,0 +1,91 @@
# 获取当前日期字符串
def get_date(bar=True):
import datetime
datetime_date = str(datetime.date.today())
if bar==False:
datetime_date = datetime_date.replace('-', '')
return datetime_date
# 获取当前时间字符串
def get_time():
import datetime
datetime_time = datetime.datetime.now().strftime('%H:%M:%S')
return datetime_time
# 获取MAC地址
def get_mac_address():
import uuid
mac_address = uuid.UUID(int=uuid.getnode()).hex[-12:].upper()
mac_address = '-'.join([mac_address[i:i+2] for i in range(0, 11, 2)])
return mac_address
# 获取调用本函数的函数名
def get_calling_function_name(layer=1):
import inspect
caller = inspect.stack()[layer]
calling_function_name = caller.function
return calling_function_name
# Guan软件包的使用统计不涉及到用户的个人数据
global_variable_of_first_guan_package_calling = []
def statistics_of_guan_package():
import guan
message = guan.get_calling_function_name(layer=2)
message_calling = guan.get_calling_function_name(layer=3)
global global_variable_of_first_guan_package_calling
if message not in global_variable_of_first_guan_package_calling:
global_variable_of_first_guan_package_calling.append(message)
if message_calling == '<module>':
try:
import socket
datetime_date = guan.get_date()
datetime_time = guan.get_time()
current_version = guan.get_current_version('guan')
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.settimeout(0.5)
client_socket.connect(('py.guanjihuan.com', 12345))
mac_address = guan.get_mac_address()
send_message = datetime_date + ' ' + datetime_time + ' version_'+current_version + ' MAC_address: '+mac_address+' guan.' + message+'\n'
client_socket.send(send_message.encode())
client_socket.close()
except:
pass
# 获取Python软件包的最新版本
def get_latest_version(package_name='guan', timeout=2):
import requests
url = f"https://pypi.org/pypi/{package_name}/json"
try:
response = requests.get(url, timeout=timeout)
except:
return None
if response.status_code == 200:
data = response.json()
latest_version = data["info"]["version"]
return latest_version
else:
return None
# 获取软件包的本机版本
def get_current_version(package_name='guan'):
import importlib.metadata
try:
current_version = importlib.metadata.version(package_name)
return current_version
except:
return None
# Guan软件包升级提示
def notification_of_upgrade():
import random
rand_number = random.randint(1, 10)
if rand_number == 5:
try:
latest_version = get_latest_version(package_name='guan', timeout=2)
current_version = get_current_version('guan')
if latest_version != None and current_version != None:
if latest_version != current_version:
print('提示:您当前使用的版本是 guan-'+current_version+',目前已经有最新版本 guan-'+latest_version+'。您可以通过以下命令对软件包进行升级pip install --upgrade guan')
except:
pass
notification_of_upgrade()