Saravanan666/pypi-org huggingface dataset:
Package: mjcf-urdf-simple-converter
mjcf_urdf_simple_converterA minimal and simple script to convertlimited elementsof MJCF (MuJoCo modeling format) robot model files to URDF. Developed from a need to visualize MJCF robots in ROS environments like Rviz, it only converts a limited subset of the robot model elements to URDF.
The model file is loaded in the Pythonmujocopackage, and its model elements are parsed using the library and then output according to the URDF XML format.I donotintend to expand this into a full-fledged transclation script from MJCF to URDF.installationpip install mjcf-urdf-simple-converterusagefrommjcf_urdf_simple_converterimportconvertconvert("model.xml","model.urdf")# or, if you are using it in your ROS package and would like for the mesh directories to be resolved correctly, set meshfile_prefix, for example:convert("model.xml","model.urdf",asset_file_prefix="package://your_package_name/model/")This converts themodel.xml(and any associated MJCF files loaded from withinmodel.xml) tomodel.urdf. Mesh geoms are also converted to STL files, and saved toconverted_*.stlfiles within the same directory. The converted files can be checked in Rviz, or online tools likehttps://gkjohnson.github.io/urdf-loaders/javascript/example/bundle/index.html.what are convertedlinksmesh geomsinertial informationjointsjoint position, axis and limits (arbitrary values are set for effort and velocity limits)only hinge (revolute) joints are supportedonly up to one joint per link is supportedwhat are NOT convertedactuatorssensorstendonsetc.commentsA similar tool exists to convert from MJCF to URDF (mjcf2urdf), but the pybullet import that it uses did not work for our case so this tool was created.for converting from URDF to MJCF, the./compileprogram bundled with standard MuJoCo installations can be used.
Package: mjc-viewer
mjc_viewermjc_vieweris a browser-based 3D viewer forMuJoCothat can render static trajectories from JSON.InstallationThe recommended way to install this package is viaPyPI:pipinstallmjc_viewerUsageimportnumpyasnpimportmujocofrommjc_viewerimportSerializer,Trajectory# Load your MuJoCo model.model=mujoco.MjModel.from_xml_path("humanoid.xml")data=mujoco.MjData(model)# Create a Serializer and Trajectory instance.serializer=Serializer(model)trajectory=Trajectory(data)# Simulate for 3 seconds.trajectory.reset()whiledata.time<3.0:data.ctrl=np.random.uniform(*model.actuator_ctrlrange.T)mujoco.mj_step(model,data)trajectory.step()html=serializer.render(trajectory)withopen("traj.html","w")asf:f.write(html)# You can now open traj.html in a browser or render in a notebook with# `IPython.display.HTML`.TodosRobustify XML parserParse lightsAdd support for meshes and height fieldsBetter default camera / light settingsFigure out plane reflectionSomeday, make it interactiveAcknowledgementsmjc_vieweris heavily adapted fromBrax's javascript viewer, full credit goes to its developers.
Package: mj-helpers
A collection of helper functions and decorators that I occasionally use to get
my life in order.Installationpip install mj_helpersprofileitA decorator to profile function calls.Usage:from mj_helpers.decorators import profileit

@profileit
def foo():
    return do_stuff()In a Python shell:>>> from .foo import foo
>>> foo()
>>> from pstats import Stats
>>> stats = Stats('/tmp/foo.profile')
>>> stats.sort_stats('cumulative').print_stats(50)

Fri Nov 27 08:34:14 2015    /tmp/foo.profile
2 function calls in 0.000 seconds

Ordered by: cumulative time
ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     1    0.000    0.000    0.000    0.000 <ipython-input-8-8f35865ca12d>:1(foo)
     1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}If installed via pip or python setup.py:mj_stats /tmp/foo.profile /tmp/bar.profile --sorting=cumulative --limit=50log_function_ioLogging decorator that logs function name, args and kwargs.In Python:from mj_helpers.log_decorator import log_function_io

@log_function_io
def foo(bar, spam=None, *args, **kwargs):
    return do_stuff()


class Thing(object):
    pass


class Bar(object):

    @staticmethod
    @log_function_io
    def static_method(spam, eggs='eggs'):
        return True

    @classmethod
    @log_function_io
    def class_method(cls, foo='foo', bar=None):
        return False


    @log_function_io
    def function(self, thing):
        return Thing()Console:>>> foo('a', *['first star', 'second star'], **{'something': 'boo'})
2016-02-02 05:04:50,963 - __main__ - DEBUG - [FUN] foo [ARG] bar: 'a', spam: 'first star', something: 'boo' *('second star',)
2016-02-02 05:04:50,963 - __main__ - DEBUG - [FUN] foo [RET] None

>>> Bar.static_method('spam')
2016-02-02 05:09:30,426 - __main__ - DEBUG - [FUN] static_method [ARG] spam: 'spam'
2016-02-02 05:09:30,426 - __main__ - DEBUG - [FUN] static_method [RET] True

>>> Bar.class_method(bar='spam')
2016-02-02 05:11:39,753 - __main__ - DEBUG - [FUN] class_method [ARG] bar: 'spam'
2016-02-02 05:11:39,753 - __main__ - DEBUG - [FUN] class_method [RET] False

>>> Bar().function(thing='spam')
2016-02-02 05:13:01,679 - __main__ - DEBUG - [FUN] function [ARG] thing: 'spam'
2016-02-02 05:13:01,679 - __main__ - DEBUG - [FUN] function [RET] <__main__.Thing object at 0x7f33d8627f90>cache_itCaching decorator to assist in caching function calls / returns.In Python:from mj_helpers.decorators import cache_it

@cache_it()
def foo(bar, spam=None, *args, **kwargs):
    return do_stuff()

# If using memoize instead of django's cache you can see the cache by:
>>> cache_it._cache
{
    <function foo at 0x7f4419daa848>: {
        "(('a', 'first star', 'second star'), (('something', 'boo'),))":
        (None, 1454391947.614329)
    }
}
Package: mjml-python
mjml-pythonCompile MJML at runtime without an external Node service/process. It is a Python wrapper forMRML(Rust port ofMJML).WhyFromMRML:A Node.js server rendering an MJML template takes around 20 MB of RAM at startup and 130 MB under stress test. In Rust, less than 1.7 MB at startup and a bit less that 3 MB under stress test. The Rust version can also handle twice as many requests per second.All of that is without considering http transaction cost when using a  node service or process.HowInstall fromPyPI:pipinstallmjml-pythonImportmjml2htmland pass a string to compile:frommjmlimportmjml2htmlhtml=mjml2html('''<mjml><mj-body><mj-section><mj-column><mj-image width="100px" src="/assets/img/logo-small.png"></mj-image><mj-divider border-color="#F45E43"></mj-divider><!-- Say hello to the user --><mj-text font-size="20px" color="#F45E43" font-family="Open Sans">Hello World</mj-text></mj-column></mj-section><mj-section><mj-column><mj-social font-size="15px" icon-size="30px" mode="horizontal"><mj-social-element name="facebook" href="https://mjml.io/">Facebook</mj-social-element><mj-social-element name="google" href="https://mjml.io/">Google</mj-social-element><mj-social-element  name="twitter" href="https://mjml.io/">Twitter</mj-social-element></mj-social></mj-column></mj-section></mj-body></mjml>''',disable_comments=True,social_icon_origin="https://example.com",fonts={"Open Sans":"https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,700","Ubuntu":"https://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700",})Example using Django templatesfromdjango.core.mailimportsend_mailfromdjango.template.loaderimportrender_to_stringfrommjmlimportmjml2htmlcontext={'foo':'bar'}text_message=render_to_string('my_text_template.txt',context)html_message=mjml2html(render_to_string('my_mjml_template.mjml',context))send_mail('Subject here',text_message,'from@example.com',['to@example.com'],fail_silently=False,html_message=html_message,)Optionsmjml-pythonsupports the following options:NameTypeDefault valueCommentdisable_commentsboolFalseStrip comments out of rendered HTMLsocial_icon_originstr | NoneNoneCustom URL origin for social icons. Icon name is appended (e.g.facebook.png).fontsdict[str, str] | NoneNoneFonts imported in the HTML rendered by MJML.include_loaderCallable[[str], str] | NoneNoneFetch the included template using the path attribute.Notes:Whenfontsoption is set toNone, the following default fonts will be used:{"Open Sans":"https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,700","Droid Sans":"https://fonts.googleapis.com/css?family=Droid+Sans:300,400,500,700","Lato":"https://fonts.googleapis.com/css?family=Lato:300,400,500,700","Roboto":"https://fonts.googleapis.com/css?family=Roboto:300,400,500,700","Ubuntu":"https://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700",}Developmentpython-mvenvenvsourceenv/bin/activate
pipinstall-rrequirements.txt
maturindevelop
python-munittest
Package: mjms
MJMS - A client forhttps://mailsrv.marcusj.orgUsagefrommjmsimportMJMSmjms=MJMS('API_KEY')mjms.send_mail('example@email.com','This is the subject!',html='<h1>Hello world</h1>')# the first argument can also be a list of emails. text is also a valid kwargres=mjms.verify_email('example@email.com')# {'ok': True, 'token': 'XXXXXXX'} or {'ok': False, 'error': '...'}print(mjms.check_verified(res['token']))API keys can be obtained by visitinghttps://mailsrv.marcusjt.techand signing in withreplit.
Package: mjob
列表并行列表并行是一个用于并行处理列表任务的工具。它提供了一种简单而高效的方式来执行并行任务，针对给定的列表进行处理。功能并行执行任务：利用多线程或多进程的方式，并行处理给定的列表任务。灵活的任务定义：可以自定义任务函数，根据具体需求对列表中的每个元素进行处理。可配置的并行度：可以根据系统资源和任务复杂度，灵活地调整并行度。进度跟踪和错误处理：提供进度跟踪功能，以及错误处理和日志记录，方便调试和排查问题。安装列表并行可以通过以下步骤进行安装：从源码安装：gitclonehttps://jihulab.com/lsrami/mjob.gitcdmjob
python-mpipinstall./从pypi安装pipinstallmjob使用示例# 查看参数说明mjob--help# 通过给定的test.list文件，快速复制到包含 data_new 的新目录中mjob--taskcopy\--file_listtest.list\--old_dirdata\--new_dirdata_new\--nj4# 通过给定的test.list文件，创建软连接到包含 data_new 的新目录中mjob--tasklink\--file_listtest.list\--old_dirdata\--new_dirdata_new\--nj4# 通过给定的test.list音频文件列表，快速音频重采样到16k，保存到到包含 data_new 的新目录中mjob--taskresample\--file_listtest.list\--old_dirdata\--new_dirdata_new\--nj4# 通过给定的test.list文件，快速删除文件mjob--taskdelete\--file_listtest.list\--nj4# 通过给定的test.list文件，快速展示所有文件mjob--taskshow\--file_listtest.list\--nj4# 通过给定的test.list文件，快速执行命令（确保命令的合法性）mjob--taskrun\--file_listtest.list\--nj4# 以上任务默认使用多进程方式运行，添加 --thread 参数使用多线程方式运行mjob--taskcopy\--file_listtest.list\--old_dirdata\--new_dirdata_new\--nj4\--thread贡献如果你发现了任何问题或有改进的建议，欢迎提出issue或提交pull request。我们非常欢迎贡献者为该项目做出贡献。
Package: mjpeg-http-streamer
mjpeg-http-streamerA small python tool that reads a plain MJPEG stream fromstdinand publishes it as http MJPEG stream.
It can be used in combination withlibcameraon a Raspberry Pi to create a http stream forOctoPrint.InstallationInstallation is done viapip.pipinstallmjpeg-http-streamerUsageExample invocation on a Raspberry PI:libcamera-vid-t0--inline--codecmjpeg-o-\|python3-mmjpeg_http_streamer-l<host>-p8080The HTTP stream can be received by opening the urlhttp://<host>:8080/stream.
Further a single snapshot can be retrieved usinghttp://<host>:8080/snapshot.In production use cases it is advised to hostmjpeg-http-streamerbehind a reverse proxy like nginx.
Package: mjsqltool
使用说明变量环境设置（数据库的链接信息存储在变量环境中）# 设置环境变量 user 是用户名，password 是密码，192.168.1.10:22484 数据库地址
os.environ['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://user:password@192.168.1.10:22484/'

# 获取环境变量，如果不存在则使用默认值
value = os.environ.get('SQLALCHEMY_DATABASE_URI', 'default_value')
print(value+"DY_DSLP")1、安装包模块pip install mjsqltool
pip install --upgrade mjsqltool2、引入包模块from mjsqltool import SqlConnect,DataConvert,SqlExecuteSqlConnect链接数据库,使用完毕后自动关闭# 数据库名称
db  = 'database'
with SqlConnect(db) as cn:
    .....DataConvert数据转换
1、清洗数据
2、数据转SQLconvert = DataConvert()
df = pd.read_exce("jjjj.xlsx")

# 清洗数据
df = convert.convert_to_cleandata(df)

# 转成SQL语句  sql_type:   保存类型 有两个可选参数 'INSERT' 和 'REPLACE'
data = df
table_name = '测试表格'
sql_type='REPLACE'
query = convert.convert_to_sqlstring(data,table_name, sql_type)SqlExecuteSqlExecute 将数据保存到MySQL
SqlExecute 继承了 DataConvert,from mjsqltool import SqlConnect,DataConvert,SqlExecute
import pandas as pd

with SqlConnect("MJ_DATA") as cn:
    df = pd.read_excel(r"C:\Users\manji\Downloads\联盟订单.xlsx")
    SqlExecute().data_cleanerSave_tosql(df,"测试表格",cn)SqlExecute().data_cleanerSave_tosql参数说明sql_type='INSERT', 
# sql_type='INSERT' 自动忽略重复主键记录 有两个可选参数 'INSERT' 和 'REPLACE'

datalong = None, 
# datalong="only" 为 only时,只写入mysql中存在的数据字段

chunk_size=10000   
# 每次最大写入数据的数据记录,例如90条数据，每次写入10条,则自动拆分成10次写入
Package: mjsrpc2
mjsrpc2 is a extension of jsonrpc2 providing introspection and argument type validationContentsNoticeQuickStartUsingToDONoticeThis is an internal component in themOSAICCloud Project. The current state of the component is experimental.QuickStartInstall using easy_install:$ easy_install mjsrpc2Usingfrom mjsrpc2 import rpc

class A(rpc.RPCBase):
        def __init__(self):
                rpc.RPCBase.__init__(self)

        @rpc.jsonmethod
        def foo(self):
                return "foo"
# Server part
service = rpc.RPCService(A())
server = rpc.UnixSocketConnector(rpc = service, endpoint="/tmp/a.sock")
# Client part
client_transport = rpc.UnixStreamTransport(endpoint = "/tmp/a.sock")
proxy = rpc.RPCProxy(client_transport)
assert proxy.foo() == "foo"ToDOImplement transport for ZeroMQImplement transport for RabbitMQ
Package: mjurav-de2-1
OverviewThis project contains a collection of functions for performing various data transformation and analysis tasks,
including matrix transposition, window generation from 1D arrays, and 2D convolution operations.Project is published in PyPi:https://pypi.org/project/mjurav-de2-1/.Project Structuresrc/data_transformation/__init__.pytransform.py
test/test_functions.py
poetry.lock
pyproject.toml
README.mdInstallationInstall PoetryPoetry is a Python dependency management tool.Install Poetry:curl-sSLhttps://install.python-poetry.org|python3-Add Poetry to your system's PATH, following the post-installation instructions provided.After installing these prerequisites, proceed with the main project setup as described in the README.Install project from GitHubTo download and install project, run commands:gitclonegit@github.com:TuringCollegeSubmissions/mjurav-DE2.1.gitcdmjurav-DE2.1
poetryinstallInstall as a package from PyPiNavigate to your project where you want to havemjurav-DE2.1package as a dependency, and use poetry add command:poetryaddmjurav-de2-1UsageTransposing a 2D MatrixTo transpose a 2D matrix, use the transpose2d function from src/data_transformation/transform.py.fromdata_transformation.transformimporttranspose2dmatrix=[[1.0,2.0],[3.0,4.0],[5.0,6.0]]transposed_matrix=transpose2d(matrix)print(transposed_matrix)Generating Windows from a 1D ArrayTo generate windows from a 1D array, use the window1d function from src/data_transformation/transform.py.fromdata_transformation.transformimportwindow1darray=[1,2,3,4,5]windows=window1d(array,size=2,shift=1,stride=1)print(windows)Applying 2D ConvolutionTo apply a 2D convolution operation, use the convolution2d function from src/data_transformation/transform.py.importnumpyasnpfromdata_transformation.transformimportconvolution2dinput_matrix=np.array([[1,2,3],[4,5,6],[7,8,9]])kernel=np.array([[1,0],[0,-1]])convolved_matrix=convolution2d(input_matrix,kernel)print(convolved_matrix)Running TestsTo run the tests, use the following command:poetryrunpython-munittesttests/test_functions.py
Package: mjwt
mjwtConstruction newest readme. JUne14-15:51. Hurr durr, this will become my
readme it says. is this now mjws readmoi? This is new text 14-6
thunderbirdInstallpipinstallmjwtHow to useIm now gonna do a short code example:1+12# import numpy as np# from mjwt.utils import legimplot# legimplot(np.random.randn(5,5), show=True)Bang, an implot above.print('something')something
Package: mjx
FeaturesMjx is a Japanese Mahjong (riichi Mahjong) simulator.
Mjx works as a game server asMjai, a popular Mahjong simulator, to evaluate Mahjong AIs but have additional features:Fast(100x faster thanMjai)ExactTenhoucompatibility(Mjx is validated with numerous Tenhou game logs)Gym-like APIEasy distributed computing(available for large-scale RL and evaluation thanks togRPC)Mjaicompatible(mjx_mjai_translater)Beautiful visualizationQuick startGoogle colabInstall$ pip install mjxRequirements.Mjx supportsPython3.7or later inLinuxandmacOS Intel(10.15 or later).
CurrentlyWindowsandmacOS Apple Siliconare NOT supported.
Contributions for supportingWindowsandmacOS Apple Siliconare more than welcome!Exampleimportmjxagent=mjx.RandomAgent()env=mjx.MjxEnv()obs_dict=env.reset()whilenotenv.done():actions={player_id:agent.act(obs)forplayer_id,obsinobs_dict.items()}obs_dict=env.step(actions)returns=env.rewards()Sever UsageServerClientimportrandomimportmjxclassRandomAgent(mjx.Agent):def__init__(self):super().__init__()# When you use neural network models# you may want to infer actions by batchdefact_batch(self,observations):return[random.choice(obs.legal_actions())forobsinobservations]agent=RandomAgent()# act_batch is called instead of actagent.serve("127.0.0.1:8080",batch_size=8)importmjxhost="127.0.0.1:8080"mjx.run({f"player_{i}":hostforiinrange(4)},num_games=1000,num_parallels=16)How to developWe recommend you to develop Mjx inside a container.
Easiest way is open this repository from VsCode.
Feel free to mention to @sotetsuk if you have any questions.LicenseMIT
Package: mk312
MK312 Communication WrapperIntroductionThis is an communication wrapper for the MK-312BT Estim Box. It usespyserialfor the RS232 communication. Primary I wrote it for my own purposes. It should be the base for a remote controlling tool and an abstraction layer for a Rest API too.
If you like to do a test, it would be great :) I love to get a feedback from you.FirmwareI test the examples with the firmware from:https://github.com/buttshock/mk312-bt/tree/master/firmware/Custom%20Boot%20Message%20f005-MK312-BT.
Please note that I have some trouble with the fuse bits. Therefore I was using:L: 0xFF / H: 0xD9which worked perfectly for me.ConnectionThe communication with the MK-312 device is working via an RS232 interface ->LINKconnector. I'm not glad about the phone jack because you can shorten the connectors while plugging in the interface cable. So I suggest to do the connection if the device is switched off. Maybe someone will giving the board an sub-d connector in further hardware versions. Or even better a real ethernet connection with a socket communication :)Phone JackRS232Sub-DTipRxDPin 2RingTxDPin 3SleeveGndPin 5The soldering of the phone jack is a little tricky. Maybe that is the reason for the high price of the cable...SettingsThe RS232 interface is working with 8 Bytes / None Parity / 1 Stop Bit and a baudrate of 19200.
Actually the communication wrapper is using 19200. You can switch the baudrate by yourself if you set the necessary UART registers. I did not a test with other baudrates than 19200.ExamplesPlease check the examples dir. I wrote some basic tests which should work.HandshakingI completly rewrote the handshaking part. You can do it in a way I already showed in the examples:et312=mk312.MK312CommunicationWrapper()et312.handshake()# Do the stuff you like to do with your box# ...# ...# Reset key and close the interfaceet312.close()If there is an interrupt of the script before you reset the key, you will getting problems with a reconnect. Actually it should be no problem at all to reconnect.When nothing helps you can switch off the box and switch it on again. Because of the high amount of capacitors the RAM of the AVR is bufferd very long - so it take some time to wait until a reconnection is possible. I have no battery on my MK-312 therefore I can only plug off the power supply. A better way will be unloading the capacitors if switching the box off...this remains in an hardware redesign too.LoggingFor debugging reason I designed the wrapper in a way that he talks a very lot. If you don't like it when you are using an own logger than please change the logging level to info. The logger of the wrapper is talking at the debug level.LicensePlease read theLICENSEfile. Especially:IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY--> It is your turn to use the communication wrapper!Thanks to...My work is based on these two repos:https://github.com/buttshock/buttshock-pyhttps://github.com/buttplugio/stpihkalWithout the preliminary work of the protocol description and the handshaking it would be much harder for me.
Package: mk60
mk60is a console application assisting in creation of Elektronika D3-28
tapes from data files. This application reads given data file and encodes it in
the WAVE (WAV) audio format according to the modulation scheme used by D3-28.
That audio file may be replayed further with conventional software and recorded
to a compact cassette compatible with D3-28’s tape transport.Currently only one input data format is supported: text file with decimal-coded
hexadecimal codes of D3-28’s memory segment. Each line shall contain one data
byte, or be empty, or start with comment#symbol. The last byte in the
file must be the D3-28’sENDinstruction – i.e., the code0512.Best regards, Alexander A. Strelets <streletsaa@gmail.com>
Package: mk8dx
mk8dxThis library has Mogi, Race, Track, and Cup classes.
And mk8dx.lounge_api is fully lounge api wrapper.installpipinstallmk8dxsampleTrackfrommk8dximportTrackmks=Track.from_nick('マリカス')# => Track.MKSdcl=Track.from_nick('dcl')# => Track.DCLprint(mks.abbr)# MKSprint(mks.name)# Mario Kart Stadiumprint(mks.full_name)# Mario Kart Stadiumprint(dcl.abbr_ja)# チーズprint(dcl.name_ja)# チーズランドprint(dcl.full_name_ja)# GBA チーズランドlounge_apifrommk8dximportlounge_apiasyncdefgetMaxScore(name:str,season:int)->Optional[int]:player=awaitlounge_api.get_player_details(name=name,season=season)max_score=-1formmr_changeinplayer.mmr_changes:ifmmr_change.scoreisnotNoneandmax_score<mmr_change.score:max_score=mmr_change.scoreifmax_score==-1:returnNonereturnmax_score
Package: mka-eureka-microservice-controllers
mka_eureka_microservice_controllersA pip package contains scripts to easily connection between connected django microservice with eurekaAuthors@adnan-ajiInstallationInstall my-project with pippipinstallmka_eureka_microservice_controllersRequirementsdjangodjango_numpy_json_encoderpy_eureka_clientpathlibpandasnumpy
Package: m-kafka-sdk
Thư viện Consumer của Profiling:Tự động tạo kafka topicsfrommobio.libs.kafka_lib.helpers.ensure_kafka_topicimportcreate_kafka_topicscreate_kafka_topics(['test1'])Confluent Kafka Consumerimportosfrommobio.libs.kafka_libimportConsumerGroupfrompymongoimportMongoClientfrommobio.libs.kafka_lib.helpers.confulent_consumer_managerimportConfluentConsumerManager,ConfluentMessageQueue# Đây là function khởi tạo client-mongodefcreate_db():print("create_db: ok")try:url_connection=os.getenv('MONGODB_URI')client=MongoClient(url_connection,connect=False)exceptExceptionasex:print('ERROR:: create_db:{}'.format(ex))client=NonereturnclientclassConfluentKafkaConsumer(ConfluentMessageQueue):def__init__(self,mongo_client,topic_name,num_worker,group_id):super().__init__(mongo_client,topic_name,num_worker,group_id)defprocess_msg(self,payload):print("payload:{}".format(payload))raiseException("test")defstart_confluent_consumer():mongo_client=create_db()consumer_list=[(ConfluentKafkaConsumer,mongo_client,'test1',1,ConsumerGroup.DEFAULT_CONSUMER_GROUP_ID,True)]ifconsumer_list:manager=ConfluentConsumerManager(consumer_list)if__name__=="__main__":# test_create_topic()# start_kafka_python()start_confluent_consumer()Update version 0.1.1support Enable/Disable retry consumerUpdate version 0.1.2add ConfluentProducerManagerUpdate version 0.1.3remove pandasUpdate version 0.1.4fix consumer commit asynchronous in python 3.6+Update version 0.1.5upgrade confulent-kafka to v1.5.0 support python 3.5 -> 3.8Update version 0.1.6upgrade confulent-kafka to v1.6.1 Fix PY_SSIZE_T_CLEAN warning