Saravanan666/pypi-org huggingface dataset:
Package: qfx-scraper
# QFX ScraperA simple scrapper for [https://qfxcinemas.com](https://qfxcinemas.com) site.## UsageInstall the `qfx-scraper` package by running:```bashpipenv install qfx-scraper```Now you can test the scraper.```python>>> from qfx import QFXScraper>>> scraper = QFXScraper()>>> scraper.get_movies()[<Movie: Red Sparrow>, <Movie: Pari>, <Movie: 3D: Black Panther>, <Movie: The Hurricane Heist>, <Movie: Mangalam>, <Movie: Gaja Baja>, <Movie: Hurray>, <Movie: A League of Their Own>, <Movie: Black Panther>, <Movie: Tomb Raider>, <Movie: 3D: Tomb Raider>, <Movie: Panchayat>, <Movie: Raid>, <Movie: Shatru Gate>, <Movie: Hichki>, <Movie: Baaghi 2>]>>> # let's see now showing>>> scraper.showing[<Movie: Red Sparrow>, <Movie: Pari>, <Movie: 3D: Black Panther>, <Movie: The Hurricane Heist>, <Movie: Mangalam>, <Movie: Gaja Baja>, <Movie: Hurray>, <Movie: A League of Their Own>, <Movie: Black Panther>]>>> # similarly, coming soon>>> scraper.coming_up[<Movie: Tomb Raider>, <Movie: 3D: Tomb Raider>, <Movie: Panchayat>, <Movie: Raid>, <Movie: Shatru Gate>, <Movie: Hichki>, <Movie: Baaghi 2>]```
Package: qgate-graph
QGate-GraphThe QGate graph generates graphical outputs based on performance tests (QGate Perf). Key benefits:provide graphs about Performance/Throughput and Response time (on typically client side)provide graphs about Executors in timeThese graphs only visualize outputs from performance tests, it is not replacement of
detail views from Grafana, Prometheus, etc. in detail of CPU, GPU, RAM, I/O etc. on side of testing system.Usagefromqgate_graph.graph_performanceimportGraphPerformancefromqgate_graph.graph_executorimportGraphExecutorimportlogging# setup login levellogging.basicConfig()logging.getLogger().setLevel(logging.INFO)# generate performance/throughput graphsgraph=GraphPerformance()graph.generate_from_dir()# generate excutors in time graphsgraph=GraphExecutor()graph.generate_from_dir()OutputsPerformance/Throughput & Response timeExecutors in time
Package: qgates
QGatescreated by Austin PoorA small package with some helper functions and quantum gates represented as numpy matrices.GitHub:https://github.com/a-poor/QGatesPyPi:https://pypi.org/project/qgatesRead the Docs:https://qgates.readthedocs.ioRequirementsPython 3NumpyInstallationpipinstallqgates
Package: qgate-sln-mlrun
QGate-Sln-MLRunThe Quality Gate for solution MLRun (and Iguazio). The main aims of the project are:independent quality test (function, integration, acceptance, ... tests)deeper quality checks before full rollout/use in company environmentsidentification of possible compatibility issues (if any)external and independent test coverageetc.The tests use these key components, MLRun solution seeGIT mlrun,
sample meta-data model seeGIT qgate-modeland this project.Test scenariosThe quality gate covers these test scenarios (✅ done, ❌ in-progress/planned):Project✅ TS101: Create project(s)✅ TS102: Delete project(s)Feature set✅ TS201: Create feature set(s)Ingest data✅ TS301: Ingest data to feature set(s)Feature vector✅ TS401: Create feature vector(s)Get data✅ TS501: Get data from off-line feature vector(s)✅ TS502: Get data from on-line feature vector(s)Build model✅ TS601: Build CART model❌ TS602: Build XGBoost model❌ TS603: Build DNN modelServe model✅ TS701: Serving score from CART❌ TS702: Serving score from XGBoost❌ TS703: Serving score from DNNNOTE: Each test scenario contains addition specific test cases.Test sourcesThe quality gate tests these sources (✅ done, ❌ in-progress/planned):Off-line✅ ParquetTarget, ✅ CSVTargetOn-line✅ RedisTarget, ❌ SQLTarget, ❌ KafkaTarget❌ SQLSourceOther✅ Pandas DataFrame (as Source)Sample of outputsThe reports in original form, see:all DONE -HTML,TXTwith ERR -HTML,TXTUsageYou can easy use this solution in four steps:Download content of these two GIT repositories to your local environmentqgate-sln-mlrunqgate-modelUpdate fileqgate-sln-mlrun.envfrom qgate-modelUpdate variables for MLRun/Iguazio, seeMLRUN_DBPATH,V3IO_USERNAME,V3IO_ACCESS_KEY,V3IO_APIsetting ofV3IO_*is needed only in case of Iguazio installation (not for pure free MLRun)Update variables for QGate, seeQGATE_*(basic description directly in *.env)detail setupconfigurationRun fromqgate-sln-mlrunpython main.pySee outputs'./output/qgt-mlrun-*.html''./output/qgt-mlrun-*.txt'Precondition: You have available MLRun or Iguazio solution (MLRun is part of that),
see officialinstallation steps, or directly installation forDesktop Docker.Tested withThe project was tested with these MLRun versions (seechange log):MLRun(in Desktop Docker)MLRun 1.5.2, 1.5.1, 1.5.0MLRun 1.4.1MLRun 1.3.0Iguazio(k8s, on-prem with VM with VMware)Iguazio 3.5.3 (with MLRun 1.4.1)Iguazio 3.5.1 (with MLRun 1.3.0)NOTE: Current state, only the last MLRun/Iguazio versions are valid for testing.TODO listThe list of expected/future improvementssee
Package: qg-botsdk
引言对于使用python进行频道官方机器人开发而言，市面上确实有不同的sdk可以选用，但其很多只提供异步asyncio+类继承的开发方式，对于不会相关技巧的朋友们，尤其新手，会有开发难度。为此，qg_botsdk相应提供了另一个选择，这一款sdk虽然同样使用asyncio编写sdk底层，但其同时提供了threading和asyncio封装下的应用层调用，以抽象化封装的库编写方式，极大地降低应用层的开发难度。亮点两种应用层开发方式（threading、asyncio），可根据自己的喜好选择，而底层均为asyncio实现，保持高并发能力灵活的构建方式，即使官方删除或新增字段，SDK也不会规范于原来的数据格式，而会把真实数据反馈给你轻量，简洁，统一的代码结构，通过录入回调函数处理不同事件，10行即可构建一个简单的程序容易入门，无需学会asyncio、类继承等编程技巧也可使用，同时保留较高并发能力保留官方http API中Json数据的结构字段，带你学习官方结构，日后可自行开发适合自己的SDK简单易用的plugins编写与加载，使用例子可参阅example_13(装饰器).py方便多场景（频道+群等）构建机器人的抽象化封装，使用例子可参阅example_16(Q群简单工作流).py下载方式直接下载最新release，放到项目中即可pip安装（推荐）：pipinstallqg-botsdk注意是qg-botsdk（中线），不是qg_botsdk（底线）一个简单的工作流-   注册BOT实例，录入机器人平台获取的ID（BotAppId开发者ID）和token（机器人令牌）-   编写接收事件的函数->下方例子：def deliver(data)，并可借助model库检查数据格式（data: Model.MESSAGE）-   绑定接收事件的函数（bind_msg、bind_dm、bind_msg_delete、bind_guild_event、bind_guild_member、bind_reaction、bind_interaction、bind_audit、bind_forum、bind_audio）-   开始运行机器人：bot.start()fromqg_botsdkimportBOT,Model# 导入SDK核心类（BOT）、所有数据模型（Model）bot=BOT(bot_id='xxx',bot_token='xxx',is_private=True,is_sandbox=True)# 实例化SDK核心类@bot.bind_msg()# 绑定接收消息事件的函数defdeliver(data:Model.MESSAGE):# 创建接收消息事件的函数if'你好'indata.treated_msg:# 判断消息是否存在特定内容data.reply('你好，世界')# 发送被动回复（带message_id直接reply回复）# 如需使用如 Embed 等消息模板，可传入相应结构体， 如：# data.reply(ApiModel.MessageEmbed(title="你好", content="世界"))if__name__=='__main__':bot.start()# 开始运行机器人已实现事件接收（已支持解析论坛事件）from qg_botsdk.model import Model
此库为所有事件的数据格式结构，可套用到代码以检查结构是否正确bind_msgbind_dmbind_msg_deletebind_guild_eventbind_guild_memberbind_reactionbind_interactionbind_auditbind_forumbind_audio已实现API- API已基本完善，具体详情可查阅：https://qg-botsdk.readthedocs.io/zh_CN/latest/API.html
- 关于API的更多详细信息可阅读官方文档介绍：https://bot.q.qq.com/wiki/develop/api/get_bot_idget_bot_infoget_bot_guildsget_guild_infoget_guild_channelsget_channels_infocreate_channelspatch_channelsdelete_channelsget_guild_membersget_role_membersget_member_infodelete_memberget_guild_rolescreate_rolepatch_roledelete_rolecreate_role_memberdelete_role_memberget_channel_member_permissionput_channel_member_permissionget_channel_role_permissionput_channel_role_permissionget_message_infosend_msgsend_embed（已废弃）send_ark_23（已废弃）send_ark_24（已废弃）send_ark_37（已废弃）send_markdown（已废弃）delete_msgget_guild_settingcreate_dm_guildsend_dmdelete_dm_msgmute_all_membermute_membermute_memberscreate_announcedelete_announcecreate_pinmsgdelete_pinmsgget_pinmsgget_schedulesget_schedule_infocreate_schedulepatch_scheduledelete_schedulecreate_reactiondelete_reactionget_reaction_userscontrol_audiobot_on_micbot_off_micget_threadsget_thread_infocreate_threaddelete_threadget_guild_permissionscreate_permission_demandupload_mediasend_qq_dmsend_group_msg特殊功能register_start_event：绑定一个在机器人开始运行后马上执行的函数register_repeat_event：绑定一个背景重复运行的函数security_check：用于使用腾讯内容检测接口进行内容检测相关链接文档：readthedocs官方注册机器人：https://q.qq.com/#/官方API文档：https://bot.q.qq.com/wiki/develop/api/SDK QQ交流群：https://jq.qq.com/?_wv=1027&k=3NnWvGpz
Package: qg-common-sdk
底层封装工具类异常处理自定义异常信息
catchException.py# 业务异常类封装
class BusinessException(Exception):
    def __init__(self, data: str,msg: str):
        self.data = data
        self.code = StatusCode.BUSINESSEXEC
        self.msg = msg
# 异常封装类
class SysException(Exception):
    def __init__(self, data: str,msg: str):
        self.data = data
        self.code = StatusCode.SYSEXEC
        self.msg = msg需要异常处理的接口上，添加exec_catch_func装饰器即可。返回值信息统一封装returnInfo.py
每个需要统一返回值的接口上，添加return_info_func装饰器即可。
return_info_func 中封装了异常处理，异常日志记录，操作日志记录等字典统一处理dictOpr.py
字典统一处理类，支持内存缓存，提供字典查询，清除缓存接口，未来可以支持redis缓存。获取用户信息operUserInfo.py
提供接口从redis中获取当前用户信息时间转换工具dateTool.py 时间转换工具系统工具sysTool.py 操作系统参数的函数封装
Package: qgis-deployment-toolbelt
QGIS Deployment CLICross-platform (but Windows focused) CLI to perform deployment operations related to QGIS: profiles, plugins, etc.Try it quicklyUsing Python and the officiel package installerpip:pipinstallqgis-deployment-toolbelt
qdt-shttps://github.com/Guts/qgis-deployment-cli/raw/main/examples/scenarios/demo-scenario.qdt.ymlOr using a pre-built executable (downloadablethrough releases assets), for example on Windows:QGISDeploymentToolbelt_0-27-0_Windows.exe-shttps://github.com/Guts/qgis-deployment-cli/raw/main/examples/scenarios/demo-scenario.qdt.ymlLook for new icons in start menu or desktop!Interested? For further details,read the documentation:books:.ContributeRead thecontribution guidelinesand the documentation.
Package: qgispluginreleaser
qgispluginreleaserAdd-on for zest.releaser for releasing QGIS plugins.Zest.releaser can be extended, see itsentrypoints documentation.What we do:We hook into the “release” step and create a zipfile with a version number
and copy it to the current directory. You can scp it to a server afterwards.In the “prerelease” and “postrelease” steps we change the version number in
the (mandatory) QGISmetadata.txtfile.Note: a QGIS plugin doesn’t have asetup.py, so you’ll need to add aversion.txtorversion.rstorVERSIONfile so that zest.releaser
recognizes the current directory as a releasable project and so that it can
find the version number somewhere. Simply put the version number (“1.2”) by
itself on the first line. A newline at the end is fine.InstallationYou’ll have to install it globally (or in a custom virtualenv) as qgis plugins
normally don’t have a full python setup.The plugin checks whether there’s ametadata.txt(lowercase) with aqgisMinimumVersionstring inside it. If found, the plugin runs. Otherwise
it stays out of the way. So it should be safe to install globally.CreditsReinout van Rees started this library.Changelog of qgispluginreleaser1.1 (2020-05-25)Allow themetadata.txtto also be one subdirectory deeper.1.0 (2017-06-20)Use the codecs package in conjunction with “utf8” to read and write files.0.2 (2016-02-01)Qgis expects zip filenames to use a dot as name/version separator instead of
a dash. We now create the zipfile with a dot instead.0.1 (2016-01-19)Initial project structure created with nensskel.Changing versions in metadata.txt in the prerelease/postrelease step.Creating a zipfile (with version number in the filename) automatically in
the release step. Note that you must answer “yes” to the “checkout a tag?”
question.
Package: qgis-plugin-repo
QGIS-Plugin-RepoPresentationMerge some QGIS plugin repository togetherSingle QGIS repositoryqgis-plugin-repomergeoutput_qgis_plugin_ci.xmlall_plugins.xml
qgis-plugin-repomergehttps://path/to/plugins_to_add.xmlall_plugins.xmlThe fileall_plugins.xmlwill be edited, according to the plugin name, plugin
version and its experimental flag or not. In an XML file, the plugin can have
two versions : one experimental and the other one not.Many QGIS repositoriesYou can also have multiple XML files like :qgis/
├──plugins-3.4.xml
├──plugins-3.10.xml
├──plugins-3.16.xml
├──plugins-3.22.xml
└──plugins-3-28.xmlThen, it's possible to callqgis-plugin-repoto dispatch an XML plugin in matching QGIS XML files :qgis-plugin-repo merge output_qgis_plugin_ci.xml plugins-*.xmlAccording to QGIS minimum/maximum versions hardcoded in the XML (and therefore in the metadata.txt), only corresponding
QGIS XML files will be edited.For now, only plugins between3.0and3.99and without a patch QGIS version number are supported.Read a QGIS repositoryYou can read an XML file :qgis-plugin-reporeadhttps://plugins.qgis.org/plugins/plugins.xml?qgis=3.10GitHub ActionsThe main purpose of this tool is to run on CI.In the plugin repository, afterQGIS-Plugin-CI:- name: Repository Dispatch
      uses: peter-evans/repository-dispatch@v1
      with:
        token: ${{ secrets.TOKEN }}
        repository: organisation/repository
        event-type: merge-plugins
        client-payload: '{"name": "NAME_OF_PLUGIN", "version": "${{ env.RELEASE_VERSION }}", "url": "URL_OF_LATEST.xml"}'Notethat QGIS-Plugin-CIpackageorreleasemust be been called with--create-plugin-repobecause this
tool will use the XML file generated.In the main repository with adocs/plugins.xmlto edit :name:🔀 Plugin repositoryon:repository_dispatch:types:[merge-plugins]jobs:merge:runs-on:ubuntu-lateststeps:-run:>echo ${{ github.event.client_payload.name }}echo ${{ github.event.client_payload.version }}echo ${{ github.event.client_payload.url }}-name:Get source codeuses:actions/checkout@v2with:fetch-depth:0token:${{ secrets.BOT_HUB_TOKEN }}# Important to launch CI on a commit from a bot-name:Set up Python 3.8uses:actions/setup-python@v2.2.2with:python-version:3.8-name:Install qgis-plugin-reporun:pip3 install qgis-plugin-repo-name:Mergerun:qgis-plugin-repo merge ${{ github.event.client_payload.url }} docs/plugins.xml-name:Commit changesuses:stefanzweifel/git-auto-commit-action@v4with:commit_message:"PublishQGISPlugin${{github.event.client_payload.name}}${{github.event.client_payload.version}}"commit_user_name:${{ secrets.BOT_NAME }}commit_user_email:${{ secrets.BOT_MAIL }}commit_author:${{ secrets.BOT_NAME }}Testscdtests
python-munittest
Package: qgis-plugin-tools
QGIS Plugin toolsWarning: The API is not stable yet. Function and files may move between commits.As it's a submodule, you can configure your GIT to auto update the submodule commit by running:git config --global submodule.recurse trueThe module is helping you with:setting up some logging(QgsMessageLog, file log, remote logs...)fetching resourcesinresourcesor other foldersfetching compiled UI fileinresources/uifolderfetching compiled translation file inresources/i18nfolderremoving QRC resources file easilytranslate using thei18n.tr()function.managing the release process : zip, upload on plugins.qgis.org, tag, GitHub releaseproviding some common widgets/code for pluginssetting up a debug serverHow to install itFor a new pluginThis will create needed structure for your pluginCreate new plugin usingcookiecutter-qgis-plugin.
This will automatically initialize git and add qgis_plugin_tools as a submodule for the plugin.Next set up thedevelopment environment,
edit metadata.txt with description etc. and commit changes.For existing pluginGo to the root folder of your plugin code sourcegit submodule add https://github.com/GispoCoding/qgis_plugin_tools.gitTo get most out of the submodule, try to refactor the plugin to use the defaultplugin treeAs external dependencyThis project can also be used as an external dependency. It can be installed via pip:pipinstallqgis_plugin_toolsThe project can also be installed in editable mode, but you must use setuptool's strict mode
because of the submodule nature of the project:pip install -e /path/to/qgis_plugin_tools --use-pep517 --config-settings editable_mode=strictSetting up development environmentRefer todevelopmentdocumentation.How to use itRefer tousagedocumentation.Plugin tree exampleThe plugin should follow the following file tree to get most out of this module.PluginFooroot folder:plugin_repo#no '-' character!.gitmodules.pre-commit-config.yaml.gitattributes.gitignore.qgis-plugin-ci# to useqgis-plugin-cipluginname#no '-' character!.gitignoreqgis_plugins_tools/# submoduleresources/i18n/# Alternatively translations could useTransifexfi.tsfi.qmui/main_dialog.uiicons/my_icon.svg__init__.pyfoo.pymetadata.txtbuild.pytest/
Package: qgis-plutil
plutilplutil is anopen source,
MIT licensed library useful for writing QGis plugins.Installpip install qgis-plutilYou can also download/clone the source, in which case you have to:git clone https://github.com/pyqgis/plutil.git
python setup.py installTo contribute a patch clone the repo, create a new branch, install in
develop mode:python setup.py develop
Package: qgis-stubs
Type Stubs for QGISThis package defines Python stub files (.pyi) for thePyQGISwrapper module available inQGIS.OverviewThe bulk of theqgismodule is aSIP-generated wrapper over a C++ source that is only available at runtime. This means that developers are "flying blind" when writing code that uses theqgismodule.Type stubs are a declaration-only replication of the module interface that can be parsed by IDEs, linters, or static type checkers likeMypyorPylanceto provide the same functionality available for regular Python sources.InstallationThe qgis-stubs package can be installed through pip:python-mpipinstallqgis-stubsAlternatively, you may clone and install the latest version using the repository link:python-mpipinstallgit+https://github.com/leonhard-s/qgis-stubs.gitCaveats & LimitationsThe Python modules used by QGIS are not without issues. Most of these are shared by the runtime implementation but are explicitly listed here to avoid confusion.Theqgis.3dnamespace is not valid Python syntax as it starts with a number. At runtime, this module is instead available under theqgis._3dname, and the stub files replicate this behaviour.This may lead to errors/warnings due to apparent protected access of client code, which must be silenced using# type: ignoreand/or# pylint: disable=protected-accesscomments.Some classes useNoneas the name of a member, leading to invalid Python syntax such asDataResamplingMethod.None.Use of the built-ingetattr()function together with custom type annotations can be used to work around this issue:None_:DataResamplingMethod=getattr(DataResamplingMethod,'None')Compatibility fallback names for unscoped enumerators are not available as they are "monkey-patched" at runtime.It was decided not to include these patches in the stubs as they lead to naming collisions.This module usesPyQt5-stubsfor its Qt types, which does not support thePyQt5.Qscisubmodule. As a result, any classes derived from theQscinamespace are typed asAnyand not checked.ContributingThis repository contains an automated type stub generator, but new releases still require some manual edits depending on the version of QGIS targeted. Support for new QGIS versions is therefore not automatic.If you encounter any issues such as missing or incorrect type hints or wish for this utility to be updated for a new version of QGIS, please docreate an issue.
Package: qgitc
QGitcA file conflict viewer for gitFeaturesTwo branches view for easy comparing a conflict commit base on the file.Visualize white spaces and carriage return for easy diff compare.Syntax highlight for diff contents.Filter logs by file path or commit pattern.Copy commit summary as HTML format for pasting.Custom pattern for creating links.Collect conflict files for merging.Launch specify merge tool for specify file suffix.Builtin image diff tool for easy finding the difference.Auto finding which commit cause conflicts.File blame supportRequirementsPySide6git (command line)chardetpywin32Optional for Windows if you want record the conflict log easilypywpsrpcOptional for Linux if you want record the conflict log easilyopenpyxlOptional if no pywin32/ pywpsrpc is availableBuild & RunUsing source directlyRunqgitc.pyunder project root directory.NOTE: If you want translation other than English or updated the UI files, runpython setup.py buildfor the first time.Build from sourceRunpip install .under project root directory to install qgitc, and then runqgitccommand.Install from pypipip install qgitcShell Integrationqgitcshellregister# to unregister, run:qgitcshellunregister# to use the source directly:pythonqgitc.pyshellregister# for Linux user# if your file manager isn't the default one comes with desktop# say your desktop is Ubuntu, but use thunar as default one# use --file-manager to specify reigster forqgitchshellregister--file-manager=thunar
Package: qgmap
Qt Google Map widget for PySide/PyQt4Features:Specify locations either by latitude, longitude pairs or street
addresses by means of GeoCodingProgramatically centering, zooming and manipulate markersFlexible marker properties (ie. draggable, icon, title…)Emits signals on user actions: dragged markers, pans or zoomsEasy to extend, thanks to the painless python-qt-javascript interfaceInstallationBy using pip:$ pip3 install qgmapFrom source:python3 setup.py --installUsageTwo main classes are provided:qgmap.GeoCoder: Retrieves geo-coordinates (latitude, longitude) from
street addressesqgmap.QGoogleMap: A WebView widget containing a GoogleMap, with some
convenience accessors to manage center, zoom, markers…See the main example code at qgmap-example.pyUsing it with PyQt4By default the classes use PySide, but the code works for PyQt4 if you
set to False the usePySide module variable by hand.Any suggestion to make this less hacky is welcome.AcknoledgementsThis Python code has been inspired in Henrik Hartz’s C++ example code:https://blog.qt.digia.com/blog/2008/07/03/putting-qtwebkit-to-use-with-google-maps/
Package: qgridtrusted
qgridtrustedA fork ofqgridusingtrusted publishing.To reduce the changes required to adopt this fork, the project is installed asqgridtrustedand the Python package is imported asqgrid. For details of how
to use theqgridpackage seeREADME.rst.Pull requests including automated tests are welcome.PrioritiesThis fork should:Be easy to installBe compatible with recent releases of its dependenciesMinimise changes to the Python code (see below)Changes to the Python codeCommand to view the changes to the Python code:git diff 877b420d3bd83297bbcc97202b914001a85afff2.. '*.py'Command to view a summary of the number of lines changed usingcloc:cloc --vcs=git --include-lang=Python --diff 877b420d3bd83297bbcc97202b914001a85afff2 HEAD
Package: qgsgl
Conversion tool for QGIS map project into webmapgl styleUsageSourcesGeoJSONfromqgsglimportGeoJSONSourceurl='https://example.com/data/stations.geojson'source=GeoJSONSource('stations',url)source.add_layer(station_layer)source.write('/www/data/stations.geojson')style.add_source(source)VectorfromqgsglimportVectorSourceurl='https://example.com/tiles/project.json'source=VectorSource('project',url)source.add_layer(station_layer,min_zoom=12,max_zoom=14)source.add_layer(street_layer,min_zoom=10,max_zoom=14)source.write('/www/tiles/project.mbtiles')style.add_source(source)Running Testspython -m unittest discoverChangelog[0.1.2] - 2019-06-20Fixes fill layer label placed incorrectly (#50)Multiple symbol layers now display in correct order (#52)Fill layer no brush property now controls fill color (#53)Circle layer will not generate two GL layers (#54)[0.1.1] - 2019-05-20Fixes bugs with color not using alpha channel (#45)Created checks for unsupported symbol layer and simplified layer class
selection logic (#46)Removed incorrect visibility logic from layer converter (#51)[0.1.0] - 2019-05-02Initial release
Package: qg-spider-sdk
爬虫系统公共类封装目标redis db 划分url 记录池封装下载页面池封装解析结果池封装网站信息类封装redis db 划分(0-15)- 0 -> 常用的队列与有序集或集合
其中的hash表定义
    - website -> 网站信息
    - url_record -> url 记录池
    - url_page -> 下载页面池封装
    - parse_result -> 解析结果池封装
- 10-15 -> 监控自行处理