Saravanan666/pypi-org huggingface dataset:
Package: webanalytictool
WEBPAGE ANALYSIS TOOLThis tool extracts insight from a webpage. The insights that can be extracted are:all unique tags used in the document.the most commonly used tag.the longest path starting from root node to the descendent.the longest path starting from root node where the most popular tag is used the most times.Installation$pipinstallwebanalytictoolfromanalyticimportWebPageAnalyticToolUsageTo create an object of WebPageAnalyticTool,$ url = 'https://www.bbc.com/sport/football'
    $ wat = WebPageAnalyticTool(url)To getlongest path starting from root node to the descendent$wat.get_longest_pathTo getthe longest path starting from root node where the most popular tag is used the most times$wat.get_longest_path_with_most_common_tagTo getthe most commonly used tag$wat.get_most_common_tagsTo getall unique tags used in the document$wat.get_unique_tags
Package: webanalyzer
webanalyzer安装pipinstall-Uwebanalyzer使用命令行第一次运行程序必须先下载指纹规则[*]webanalyzer--update-d/path/to/rules也可以使用 git 自行下载规则[*]gitclonehttps://github.com/webanalyzer/rules.git/path/to/rules使用方法:[*]webanalyzer--help
Usage:webanalyzer[OPTIONS]Options:-u,--urlTEXTTarget[required]-d,--directoryTEXTRulesdirectory,default./rules-a,--aggressionINTEGERRANGEAggressionmode,default0-U,--user-agentTEXTCustomuseragent-H,--headerTEXTPasscustomheaderLINEtoserve-v,--verboseINTEGERRANGEVerboselevel,default2-r,--ruleTEXTSpecifyrule--disallow-redirectDisallowredirect--list-rulesListrules--updateUpdaterules--versionShowtheversionandexit.--helpShowthismessageandexit.例子:[*]webanalyzer-u"http://blog.fatezero.org"-dpath/to/rules[{"name":"Fastly","origin":"wappalyzer"},{"name":"Hexo","origin":"wappalyzer","version":"3.8.0"},{"name":"Varnish","origin":"wappalyzer"},{"name":"GitHub Pages","origin":"wappalyzer"},{"name":"Ruby on Rails","origin":"implies"},{"name":"Ruby","origin":"implies"}]使用路径指定某个 rule[*]webanalyzer-u"http://blog.fatezero.org"-p/path/to/hexo.json{"name":"Hexo","origin":"test","version":"3.8.0"}类库作为类库使用importwebanalyzer# 初始化w=webanalyzer.WebAnalyzer()# 设置自定义 headersw.headers={"User-Agent":"custom ua","header-key":"header-value"}# 是否允许跳转w.allow_redirect=True# aggression 模式级别w.aggression=0# 设置 requests timeout 时间w.timeout=30# 设置 rules 路径w.rule_dir="rules"# 下载或更新某个路径下的 rulesifw.update_rules():print("update rules successful")# 重新加载 rulesn=w.reload_rules()print("reload%drules"%n)# 获取所有 rulesr=w.list_rules()print("list%drules"%n)# 使用某个 rule 进行检测r=w.test_rule("http://blog.fatezero.org","rules/wappalyzer/hexo.json")print(r)# 使用所有 rules 进行检测，默认会重新 reload rulesr=w.start("http://blog.fatezero.org",reload=False)print(r)Q & A和 WhatWeb、Wappalyzer 的区别？WhatWeb 的规则使用 ruby 编写，在规则方面，其他编程语言很难复用，也只能通过子进程的方式调用 WhatWeb。
Wappalyzer 更多的作为一个浏览器插件使用。为什么只支持 Python3.6 以及以上的 Python 版本？因为有些正则规则使用了(?-flag:...)这样的写法，然而在https://docs.python.org/3/whatsnew/3.6.html#re才开始支持。引用ruleswebanalyzer.go
Package: web-anno-tsv
Inception Webanno tsvRead and write webanno tsv 3.2 filesInstallpipinstallgit+https://github.com/Pangeamt/web_anno_tsvRead a webanno tsv filefromweb_anno_tsvimportopen_web_anno_tsvtsv1='test.tsv'withopen_web_anno_tsv(tsv1)asf:fori,sentenceinenumerate(f):print(f"Sentence{i}:",sentence.text)forj,annotationinenumerate(sentence.annotations):print(f'\tAnnotation{j}:')print('\t\tText:',annotation.text)print("\t\tLabel:",annotation.label)print("\t\tOffsets",f"{annotation.start},{annotation.stop}")Write a webanno tsv filefromweb_anno_tsvimportopen_web_anno_tsvtsv1='test.tsv'tsv2='test_write.tsv'withopen_web_anno_tsv(tsv1)asf1:withopen_web_anno_tsv(tsv2,'w')asf2:forsentenceinf1:f2.write(sentence)
Package: webapi
webapiA framework to build web (json-rpc) APIs.Quick StartDefining messages and a service:class TestRequest(messages.Message):
    string = messages.StringField(1)

class TestResponse(messages.Message):
    string = messages.StringField(1)

@webapi.package('examplepackage')
class ExampleService(object):

    @webapi.method(TestRequest, TestResponse, 'examplemethod')
    def test(self, request):
        """ an identity function"""
        assert isinstance(request, TestRequest)
        return TestResponse(string=request.string)Building a wsgi application:API = webapi.api([ExampleService], 'exampleapi', 'v1')

routes = [
    webapp2.Route('/rpc', webapi.rpc_handler(API))
]
app = webapp2.WSGIApplication(routes)The api should be available at /rpc.A method exampleapi.examplepackage.examplemethod should be available to callers.Exporting a discovery applicationDefine in python:API = webapi.api([TestService], 'testapi', 'v1')

api_directory_app = webapi.APIDirectory([API])Register with app.yaml to match the path /discovery/.*.Using the javascript client.Using the basic clientInclude the compiled script.Installing:var RPC_URL = '/rpc';

webapi.client.install(new webapi.RpcClient(RPC_URL));Calling a method:var METHOD = 'exampleapi.examplepackage.examplemethod'

var req = webapi.client.rpc(METHOD, {'string': 'test'});

req.addCallback(function(resp){
    // this should return "test"
    console.log(resp)
});

req.addErrback(function(resp){
    // jsonrpc error objects can be handled here
    console.error(resp)
});Using the directory clientInclude the compiled script.Installing:var RPC_URL = '/rpc';

webapi.client.install(new webapi.DiscoveryClient());Loading an api (from a directory):webapi.client.load(apiName, apiVersion, root)Loading a rest description (from a json object):webapi.client.loadDescription(rawRestDescription)After loading an api its methods will be exported to the webapi namespace. For example:var request = webapi.apiname.package.method();Executing an rpc method (manually):var request = webapi.client.rpc(methodId, params);
Package: webapitest
Web Api Testpython开发的web api测试框架,可使用json与csv编写用例，与post_man无缝衔接。安装pip install webapitest
    注：如果直接用源码执行webapitest，将以下所有命令中的webapitest替换为python -m webapitest.main即可运行1、配置你的网站地址、数据库连接等基本参数。2、部署并启动你的网站3、执行如下命令，获得测试报告webapitest run4、或执行如下命令，分步执行测试a、webapitest cleandb
b、webapitest initdb
c、webapitest startwebserver
d、webapitest runcase xxx基本概念用例测试行为的基本概念。一个用例用于测试基本的某个特性，其中有若干参数。同用户同url的用例，会集成为一个场景。场景模拟某个用户使用某个接口的情景。一个场景下会有多个用例。每个场景都用一份json文件来描述。用例数据是一个文件夹，里面包含了多个场景文件。部署 & 准备webapitest可以帮助你完成自动化接口测试。执行run命令即可完成完整测试流程。但在执行它之前，您必须思考解答以下问题：测试的接口是否需要登录？测试是模拟真实用户场景，与正常用户的操作仅是缺少网站界面而已。未登录进行接口测试会得到网站对未登录状态的响应。想要进行登录再测试，需要在conf中配置登录场景。并可一次性配置多个用户登录，在执行各测试场景时自由切换用户。如何切换模拟测试用户？方法一、在测试用例场景文件中指定user属性方法二、执行webapitest runcase 命令时加参数 --user=xxx测试接口是否进行了持久化动作？注意你的测试数据会被保存到数据库中。这可能导致糟糕的结果：同样的测试不断执行，接口可能响应不同结果。例如，测试新增用户，第一次新增用户"张三"成功，第二次执行测试新增"张三"失败。因为发生了同名。
直接在测试环境和线上环境测试GET(只读)接口，一般不会构成不良影响。但很多接口，可能无法这样执行。是否需要准备测试数据库？当必须测试持久化接口时，webapitest提供的标准解决方案是：每次测试使用全新数据库。
测试总是会生产测试数据，在下一次执行测试前清理掉数据库。命令:webapitest cleandb。
网站需要提供数据库初始化命令，保证网站的正常运作。命令：webapitest initdb。
cleandb和initdb命令需要用户在conf中做好配置。预订的测试目标网站已稳定部署，准备好迎接测试了吗？做好配置，确保执行如下命令时：webapitest startwebserver，网站可正常启动。人为在浏览器中输入url模拟测试，应能获得预期结果。
执行命令webapitest runcases，开始运行测试，结果会存储到一份txt文件中。
分布完成测试命令后，可以执行webapitest run一次完成流程。配置测试网站配置测试用例配置测试数据库清理配置测试网站初始化配置与PostmanPostman是接口测试最常见的工具之一，具有用例执行、导出等功能。webapitest完美支持Postman的使用。在Postman中选择文件夹，右键导出，可得一份xxx.collection.json用例文件。执行如下命令，可以获得标准用例并执行。分步执行：a、webapitest parse xxx.collection.json --casedir cases
b、webapitest runcase cases一步执行：webapitest run_postman_collection xxx.collection.json其它常见命令执行webapitest --help查看所有命令;执行webapitest xx --help查看该命令参数和说明将用例文件转化为Postman的json文件webapitest parse2postmanfile <casedir> --postmanfile xxx.json用用例文件中的json文件生产csv文件，如已经存在csv，直接覆盖。(注：使用git管理用例，每个版本文件都在，不担心丢~)webapitest createcsv <casedir>用用例文件中的csv文件生产json文件，如已经存在json，直接覆盖。webapitest resetjsonbycsv <casedir>
Package: webapp2
webapp2is a lightweight Python web framework compatible with Google App
Engine’swebapp.webapp2 issimple. it follows the simplicity of webapp, but
improves it in some ways: it adds better URI routing and exception handling,
a full featured response object and a more flexible dispatching mechanism.webapp2 also offers the packagewebapp2_extraswith several optional
utilities: sessions, localization, internationalization, domain and subdomain
routing, secure cookies and others.webapp2 can also be used outside of Google App Engine, independently of the
App Engine SDK.For a complete description of how webapp2 improves webapp, seewebapp2 features.Quick linksUser GuideRepositoryDiscussion Group@webapp2
Package: webapp2PP
This package has multiple purposes.Covid Resilience :The first purpose of the package is, given a list of stock tickers is to state what are the most covid resilient stocks and what are the worst ones.
It computes a very simple score based on the volatility and return of the stocks over different periods.CovidResilience(stock_index = "STOXX 600", start_date = None, end_date = None, tickers = None)Input:stock_index : benchmark  (example : "CAC 40","S&P 500", "STOXX 600")start_date, end_date : strings, format "YYYY-MM-DD"tickers : list of tickers
ex : CovidResilience("STOXX 600","2020-01-19", "2021-01-19", tickers = list_of_tickers)Output:.relevant_data.relevant_data_returns.volatilities.rsltExample (copy/paste):!pip install FINANCEPPfrom finance import covidresilient as crlist_of_tickers = ["FP.PA","MC.PA","AI.PA","OR.PA", "RI.PA","AIR.PA"]covidfilter = cr.CovidResilience("CAC 40","2020-01-19", "2021-01-19", tickers = list_of_tickers)covidfilter.run()covidfilter.rslt
Package: webapp2_restful
Thewebapp2_restfullibrary is a Request parsing interface inspired byrestful-flask’s request parser.Its interface is modeled after theargparseinterface.Its goal is to provide a uniform access to any variable on the webapp2.Request object and allowing handlers to provide a sort of “contract” where they
specify the parameters they expect to be called with - making code easier to read and understand.Free software: BSD licenseDocumentation:https://webapp2_restful.readthedocs.org.Basic Argument ParsingHere’s a simple example of the request parser.
It looks for two arguments in the webapp2.Request’sjsonandparamsproperties: one of type int, and the other of type str:from webapp2_restful.parser import RequestParser

parser = RequestParser()
parser.add_argument('rate', type=int, help='Rate cannot be converted')
parser.add_argument('name', type=str)
args = parser.parse_args(self.request)Special Google AppEngine Argumentsfrom webapp2_restful.parser import RequestParser
from webapp2_restful.arguments_ndb import EntityIDArgument

parser = RequestParser()
parser.add_argument('store_id', type=EntityIDArgument(Store), dest='store')
args = parser.parse_args(self.request)

# args.store is a Store instance
print(args.store)History0.1.0 (2015-01-11)First release on PyPI.
Package: webapp2_static
# webapp2_staticSimple handler to Serve static files on non Google App Engine (GAE) webapp2 environments```pythonimport webapp2_staticapp = webapp2.WSGIApplication([(r'/', example.IndexHandler),(r'/static/(.+)', webapp2_static.StaticFileHandler)], config = {'webapp2_static.static_file_path': './app/static'})```# Defaultsif the ```webapp2_static.static_file_path``` configuration option is omitted then the files are assumed to be located under the ```./static``` directory.# InstallationEasiest way to install is from PyPI```pip install webapp2_static```and you're done.# LicenseThe simpledict component is released under the MIT License.The MIT License (MIT) Copyright (c) 2012 Robert SpychalaPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Package: webapp3
webapp3is a lightweight Python web framework compatible with Google App
Engine’swebapp.webapp3 is simple. it follows the simplicity of webapp, but
improves it in some ways: it adds better URI routing and exception handling,
a full featured response object and a more flexible dispatching mechanism.webapp3 also offers the packagewebapp3_extraswith several optional
utilities: sessions, localization, internationalization, domain and subdomain
routing, secure cookies and others.webapp3 can also be used outside of Google App Engine, independently of the
App Engine SDK.For a complete description of how webapp3 improves webapp, seewebapp3 features.Quick linksUser GuideRepositoryDiscussion GroupStatusWebapp3 is currently maintained by Google Cloud Platform Developer Relations. It
is not an official Google product, but is hosted by Google to allow the webapp3
community to continue to maintain the project.Contributing changesSeeCONTRIBUTING.mdLicensingApache 2.0 - SeeLICENSE
Package: webapp3-flask
Webapp3This is a way for people to convert their old webapp2 classes to make them work with python3 using FlaskYou can view the source code athttps://github.com/ReddingSoftware/Webapp3The github version is a complete program to demonstrate usage. If you are downloading from github you only need the webapp3.py file.You can install this module using pip3 install webapp3-flask
You also need to list the latest version in your requirements.txt
For Google App Engine you also need to pip install it to your lib file using pip3 install -t lib -r requirements.txtAlso, if you pip install you must use:from webapp3 import *orfrom webapp3 import BaseHandler,webapp2,RequestHandler,webappGet,webappPostHere is a quick YouTube video demonstrating how to use this modulehttps://youtu.be/P_B1Mu9p0cg
Package: webapp-builder
Install Packagepipinstallwebapp_builderExample Usage# Importing the CodeGenerator and ImageProcessor classesfromwebapp_builderimportCodeGenerator,ImageProcessorfromdotenvimportload_dotenv,find_dotenvimportosimportopenaiload_dotenv(find_dotenv())# OpenAI API Keyapi_key=os.getenv("OPENAI_API_KEY")openai.api_key=api_key# Create instances of the classescode_generator=CodeGenerator()image_processor=ImageProcessor()# Example usage of CodeGeneratorcode_text="searchbar at the top right corner, navigation menu at the header, company logo at the top left corner. "generated_code=code_generator.generate_code(code_text)print(generated_code)# Example usage of ImageProcessorimage_path='/path/to_your_web_image_here/'image_description=image_processor.get_image_description(image_path,api_key)print(image_description)For running the Streamlit app, you can create a separate Python script (let's call itapp_runner.py) with the following content:# app_runner.pyfromwebapp_builderimportmainfromdotenvimportload_dotenv,find_dotenvimportosimportopenaiload_dotenv(find_dotenv())# OpenAI API Keyapi_key=os.getenv("OPENAI_API_KEY")openai.api_key=api_keyif_name_=="_main_":main()Then, you can run this script to launch the Streamlit app:streamlitrunapp_runner.pyEnsure you have your OpenAI API key configured in your environment variables or pass it directly when calling methods that require it.web-app-builder--LLMApp Demo (Video Demo)https://github.com/george-mountain/web-app-builder--LLM/assets/19597087/4541e5f5-844d-4862-8745-bac3436de6ecWeb Builder AppWeb Builder App is a Streamlit-based application that allows users to upload an image, generate code based on the contents of the image, and view the code implementation.Table of ContentsData Flow DiagramGetting StartedPrerequisitesInstallationUsageRunning the ApplicationLicenseData Flow DiagramGetting StartedPrerequisitesMake sure you have the following software installed on your machine:Python 3.8 or laterPytorch Cuda: CUDA Version >=11.8. Install from here -Pytorch CUDA InstallationInstallation From GithubClone the repository:gitclonehttps://github.com/your-username/web-builder-app.gitcdweb-builder-appCreate a virtual environment:python-mvenvenvActivate the virtual environment:For Windows:.\env\Scripts\activateFor Linux/Mac:sourceenv/bin/activateInstall dependencies:pipinstall-rrequirements.txtCreate .env file:
Create .env file and place your API keys in the file. A sample of how to do this is seen on the .env fileAlternative installation from Github using pip:
You can install the project using pip by running the command below:pipinstallgit+https://github.com/george-mountain/web-app-builder--LLMUsageRunning the ApplicationTo run the application locally:streamlitrunmain.pyVisit the provided URL in your web browser to interact with the application.LicenseThis project is licensed under the MIT License - see theLICENSEfile for details.
Package: webapp-health-check
DescriptionChecks web apps health.VERSIONInstallLinux:sudo pip3 install webapp_health_check --upgradeAlso is possible to use:sudo python3 -m pip install webapp_health_check --upgradeOn windows with python3.5:pip install webapp_health_check --upgradeFor proxies add:--proxy='http://user:passw@server:port'UsageUse the command line:> webapp_health_check --help
  usage: webapp_health_check [-h] [-u [URL]] [-a [APP_NAME]] [-e [EXTRA_ARGS]]

    optional arguments:
    -h, --help            show this help message and exit
    -u [URL], --url [URL]
                          url to check
    -a [APP_NAME], --app_name [APP_NAME]
                          app_name is the key entry where the description is located
    -e [EXTRA_ARGS], --extra_args [EXTRA_ARGS]
                          extra argsExample usageExample use:> webapp_health_check -u “https://xxx/” -a process_app_name{“status”:”Healthy”,”totalDuration”:”00:00:02.4136092”,”entries”:{“process_app_name”:{“data”:{},”description”:”Process health check was successful.”,”duration”:”00:00:02.4106469”,”status”:”Healthy”}}}Nagios configExample command:define command{
    command_name  webapp_health_check
    command_line  /usr/local/bin/webapp_health_check -u "$ARG1$" -a "$ARG2$" --extra_args='$ARG3$'
}Example service:define service {
        host_name                       SERVERX
        service_description             service_name
        check_command                   webapp_health_check!http://url/!process_app_name
        use                                         generic-service
        notes                           some useful notes
}You can use ansible role that already has the installation and command:https://github.com/CoffeeITWorks/ansible_nagios4_server_plugins
Package: webappify
WebAppify is a simple module to easily create your own desktop apps of websites. WebAppify uses PyQt5 and QtWebEngine
for displaying the web page, and works on Python 3.8 and up.To create your own desktop web app, import and set up the WebApp class.fromwebappifyimportWebAppapp=WebApp('OpenStreetMap','https://www.openstreetmap.org','osm.png')app.run()This will create a window with the website, using the icon provided.NoteIf your site needs Flash Player, you’ll need the appropriate Flash Player plugin installed system-wide. For QtWebKit
you will need the NPAPI plugin, and for QtWebEngine you will need the PPAPI plugin.Additional Optionscan_minimize_to_trayImportantThis option was changed in version 0.4.0 fromcanMinimizeToTraytocan_minimize_to_tray. The old option
is still available, but is deprecated. It will be removed in 0.5.0.To install a system tray icon, and minimize your application to the system tray, simply passcan_minimize_to_tray=Trueto the class and a tray icon will be installed with the necessary menu options.app=WebApp('OpenStreetMap','https://www.openstreetmap.org','osm.png',can_minimize_to_tray=True)Clicking on the tray icon will show the window, while right-clicking will show the menu.
Package: webappPP
This package has multiple purposes.Covid Resilience :The first purpose of the package is, given a list of stock tickers is to state what are the most covid resilient stocks and what are the worst ones.
It computes a very simple score based on the volatility and return of the stocks over different periods.CovidResilience(stock_index = "STOXX 600", start_date = None, end_date = None, tickers = None)Input:stock_index : benchmark  (example : "CAC 40","S&P 500", "STOXX 600")start_date, end_date : strings, format "YYYY-MM-DD"tickers : list of tickers
ex : CovidResilience("STOXX 600","2020-01-19", "2021-01-19", tickers = list_of_tickers)Output:.relevant_data.relevant_data_returns.volatilities.rsltExample (copy/paste):!pip install FINANCEPPfrom finance import covidresilient as crlist_of_tickers = ["FP.PA","MC.PA","AI.PA","OR.PA", "RI.PA","AIR.PA"]covidfilter = cr.CovidResilience("CAC 40","2020-01-19", "2021-01-19", tickers = list_of_tickers)covidfilter.run()covidfilter.rslt
Package: webarchive
webarchiveWebarchive is command line web pages extractor which producesa readable
contents of requested web pages. It works with URLs, local file paths and
standard input.FeaturesThe following commands show how webarchive can be feeded with web page
content:$ webarchive https://example.com

$ webarchive "$HOME/index.html"

$ webarchive - < "$HOME/index.html"It then outputs text in various formats:MarkdownHTMLPlain textIf readability algorithms don't work for a particular web page, webarchive
can use an external command which provides textual dumps of pages. Examples
of such programs are command line web browsers like links or w3m.$ webarchive https://example.com -t dump --dump-cmd "w3m -dump"Webarchive automatically detects and provides contextualized informations
like page titles, which can be prepended in YAML Front Matter. It's useful if
webarchive output is later processed by other tools which understand YML
Front Matter, such as pandoc:$ webarchive https://example.com -t md | \
    pandoc -f markdown --standalone > article.html
$ ebook-convert article.html article.epub  # ebook-convert is part of CalibreAdditionally, a GUI wrapper is provided, which is also script-friendly as it
prints all saved files to standard output.#!/bin/shforfin`webarchive-qt`;dopandoc"$f"--standalone>article.htmlebook-convertarticle.htmlarticle.epubmutt-a"article.epub"-s"Good article I found"--alice@example.comrm-f"article.html""article.epub""$f"doneIt's small, but quite powerful:allows editing of parsed pagesautomatically detects URLs in system clipboard and fills address bar with
themcurrent URL contents are cached until URL is changed - changing output
format won't download the whole page again.defines several keyboard shortcuts (ctrl-s for save, enter for page
re-downloading)Installation$ pip3 install webarchiveTo install dependencies for GUI wrapper (webarchive-qt):$ pip3 install webarchive[gui]You can use tools such as pipx and pipsi to automatically install webarchive
and its dependencies to isolated environment:$ pipx install 'webarchive[gui]'
Package: web-archive-api
🗃️ web-archive-apiUnified, type-safe access to web archive APIs.InstallationInstall the package from PyPI:pipinstallweb-archive-apiUsageWeb archives offer two main APIs: theCDX APIto list available captures and theMemento APIto download individual captures.CDX APITODOMemento APITODODevelopmentTo build this package and contribute to its development you need to install thebuild, andsetuptoolsandwheelpackages:pipinstallbuildsetuptoolswheel(On most systems, these packages are already pre-installed.)InstallationInstall package and test dependencies:pipinstall-e.[tests]TestingVerify your changes against the test suite to verify.flake8web_archive_api# Code formatmypyweb_archive_api# Static typingpylintweb_archive_api# LINT errorsbandit-cpyproject.toml-rweb_archive_api# Securitypytestweb_archive_api# Unit testsPlease also add tests for your newly developed code.Build wheelsWheels for this package can be built with:python-mbuildSupportIf you hit any problems using this package, please file anissue.
We're happy to help!LicenseThis repository is released under theMIT license.