{"id":13453517,"url":"https://github.com/AnalogJ/lexicon","last_synced_at":"2025-03-24T01:31:37.763Z","repository":{"id":37396971,"uuid":"50903853","full_name":"AnalogJ/lexicon","owner":"AnalogJ","description":"Manipulate DNS records on various DNS providers in a standardized way. ","archived":false,"fork":false,"pushed_at":"2024-10-29T01:05:29.000Z","size":8748,"stargazers_count":1479,"open_issues_count":87,"forks_count":305,"subscribers_count":30,"default_branch":"master","last_synced_at":"2024-10-29T11:05:15.880Z","etag":null,"topics":["cli","clouddns","cloudflare","cloudxns","constellix","digitalocean","dns","dns-provider","dns-service","dnsimple","dnspod","gandi","godaddy","letsencrypt","lexicon","pypi","ssl-certificate","transip","vultr","yandex"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AnalogJ.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-02-02T07:53:04.000Z","updated_at":"2024-10-27T11:11:46.000Z","dependencies_parsed_at":"2024-05-13T23:30:21.999Z","dependency_job_id":"dfe6bb18-dec6-427a-991f-54f3bf39165e","html_url":"https://github.com/AnalogJ/lexicon","commit_stats":{"total_commits":1687,"total_committers":189,"mean_commits":8.925925925925926,"dds":0.7231772377000593,"last_synced_commit":"300c68e41a4a14f0c2a3d9defe6e6e4093891b60"},"previous_names":[],"tags_count":216,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnalogJ%2Flexicon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnalogJ%2Flexicon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnalogJ%2Flexicon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnalogJ%2Flexicon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AnalogJ","download_url":"https://codeload.github.com/AnalogJ/lexicon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245194253,"owners_count":20575729,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","clouddns","cloudflare","cloudxns","constellix","digitalocean","dns","dns-provider","dns-service","dnsimple","dnspod","gandi","godaddy","letsencrypt","lexicon","pypi","ssl-certificate","transip","vultr","yandex"],"created_at":"2024-07-31T08:00:41.942Z","updated_at":"2025-03-24T01:31:36.957Z","avatar_url":"https://github.com/AnalogJ.png","language":"Python","readme":"============\n|logo_named|\n============\n\nManipulate DNS records on various DNS providers in a standardized/agnostic way.\n\n|build_status| |coverage_status| |docker_pulls| |pypy_version| |pypy_python_support| |github_license|\n\n.. |logo_named| image:: https://raw.githubusercontent.com/AnalogJ/lexicon/master/docs/images/logo_named.svg\n    :alt: Lexicon\n.. |build_status| image:: https://img.shields.io/azure-devops/build/AnalogJ/8425f0f5-0178-4d8c-b1fd-11db7e11b6a7/1/master\n    :target: https://dev.azure.com/AnalogJ/lexicon/_build/latest?definitionId=1\u0026branchName=master\n.. |coverage_status| image:: https://img.shields.io/coverallsCoverage/github/AnalogJ/lexicon\n    :target: https://coveralls.io/github/AnalogJ/lexicon?branch=master\n.. |docker_pulls| image:: https://img.shields.io/docker/pulls/analogj/lexicon\n    :target: https://hub.docker.com/r/analogj/lexicon\n.. |pypy_version| image:: https://img.shields.io/pypi/v/dns-lexicon\n    :target: https://pypi.python.org/pypi/dns-lexicon\n.. |pypy_python_support| image:: https://img.shields.io/pypi/pyversions/dns-lexicon\n    :target: https://pypi.python.org/pypi/dns-lexicon\n.. |github_license| image:: https://img.shields.io/github/license/AnalogJ/lexicon\n    :target: https://github.com/AnalogJ/lexicon/blob/master/LICENSE\n\n.. contents:: Table of Contents\n   :local:\n\n.. tag: intro-begin\n\nWhy using Lexicon?\n==================\n\nLexicon provides a way to manipulate DNS records on multiple DNS providers in a standardized way.\n\nLexicon can be used as:\n\n- a CLI tool:\n\n.. code-block:: bash\n\n    # Create a TXT entry in domain.net zone hosted by CloudFlare\n    lexicon cloudflare create domain.net TXT --name foo --content bar\n\n- or a Python library:\n\n.. code-block:: python\n\n    # Create a TXT entry in domain.net zone hosted by CloudFlare\n    from lexicon.client import Client\n    from lexicon.config import ConfigResolver\n\n    config = ConfigResolver().with_env().with_dict({\n        \"provider_name\" : \"cloudflare\",\n        \"domain\": \"domain.net\",\n    })\n\n    with Client(config) as operations:\n        operations.create_record(\"TXT\", \"foo\", \"bar\")\n\nLexicon was designed to be used in automation, specifically letsencrypt.\n\n* `Generating Intranet \u0026 Private Network SSL Certificates using Lets Encrypt \u0026 Lexicon \u003chttp://blog.thesparktree.com/post/138999997429/generating-intranet-and-private-network-ssl\u003e`_\n\nSupported providers\n===================\n\nOnly DNS providers who have an API can be supported by `lexicon`.\n\nThe current supported providers are:\n\n..\n  This section is autogenerated and should not been modified directly.\n  However you should add a reference to the provider API in the list below,\n  using the following syntax: .. _provider: URL_API\n\n.. tag: providers-table-begin\n\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n| aliyun_         | aurora_         | azure_          | cloudflare_     | cloudns_        |\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n| cloudxns_       | conoha_         | constellix_     | ddns_           | digitalocean_   |\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n| dinahosting_    | directadmin_    | dnsimple_       | dnsmadeeasy_    | dnspark_        |\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n| dnspod_         | dnsservices_    | dreamhost_      | duckdns_        | dynu_           |\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n| easydns_        | easyname_       | euserv_         | exoscale_       | flexibleengine_ |\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n| gandi_          | gehirn_         | glesys_         | godaddy_        | googleclouddns_ |\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n| gransy_         | gratisdns_      | henet_          | hetzner_        | hostingde_      |\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n| hover_          | infoblox_       | infomaniak_     | internetbs_     | inwx_           |\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n| joker_          | linode_         | linode4_        | localzone_      | luadns_         |\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n| memset_         | misaka_         | mythicbeasts_   | namecheap_      | namecom_        |\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n| namesilo_       | netcup_         | nfsn_           | njalla_         | nsone_          |\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n| oci_            | onapp_          | online_         | ovh_            | plesk_          |\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n| pointhq_        | porkbun_        | powerdns_       | qcloud_         | rackspace_      |\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n| rage4_          | rcodezero_      | route53_        | safedns_        | sakuracloud_    |\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n| softlayer_      | timeweb_        | transip_        | ultradns_       | valuedomain_    |\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n| vercel_         | vultr_          | webgo_          | wedos_          | yandex_         |\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n| yandexcloud_    | zeit_           | zilore_         | zonomi_         |                 |\n+-----------------+-----------------+-----------------+-----------------+-----------------+\n\n.. tag: providers-table-end\n\n.. _aliyun: https://help.aliyun.com/document_detail/29739.html\n.. _arvancloud: https://www.arvancloud.ir/api/cdn/4.0\n.. _aurora: https://www.pcextreme.com/aurora/dns\n.. _azure: https://docs.microsoft.com/en-us/rest/api/dns/\n.. _cloudflare: https://api.cloudflare.com/#endpoints\n.. _cloudns: https://www.cloudns.net/wiki/article/56/\n.. _cloudxns: https://www.cloudxns.net/support/lists/cid/17.html\n.. _conoha: https://www.conoha.jp/docs/\n.. _constellix: https://api-docs.constellix.com/?version=latest\n.. _ddns: https://www.rfc-editor.org/rfc/rfc2136\n.. _digitalocean: https://developers.digitalocean.com/documentation/v2/#create-a-new-domain\n.. _dinahosting: https://en.dinahosting.com/api\n.. _directadmin: https://www.directadmin.com/features.php?id=504\n.. _dnsimple: https://developer.dnsimple.com/v2/\n.. _dnsmadeeasy: https://api-docs.dnsmadeeasy.com/?version=latest\n.. _dnspark: https://dnspark.zendesk.com/entries/31210577-rest-api-dns-documentation\n.. _dnspod: https://support.dnspod.cn/support/api\n.. _dnsservices: https://dns.services/userapi\n.. _dreamhost: https://help.dreamhost.com/hc/en-us/articles/217560167-api_overview\n.. _duckdns: https://www.duckdns.org/spec.jsp\n.. _dynu: https://www.dynu.com/support/api\n.. _easydns: http://docs.sandbox.rest.easydns.net/\n.. _easyname: https://www.easyname.com/en\n.. _euserv: https://support.euserv.com/api-doc/\n.. _exoscale: https://community.exoscale.com/documentation/dns/api/\n.. _flexibleengine: https://registry.terraform.io/providers/FlexibleEngineCloud/flexibleengine/latest/docs/data-sources/dns_zone_v2\n.. _gandi: http://doc.livedns.gandi.net/\n.. _gehirn: https://support.gehirn.jp/apidocs/gis/dns/index.html\n.. _glesys: https://github.com/glesys/api/wiki/\n.. _godaddy: https://developer.godaddy.com/getstarted#access\n.. _googleclouddns: https://cloud.google.com/dns/api/v1/\n.. _gransy: https://subreg.cz/manual/\n.. _gratisdns:\n.. _henet: https://dns.he.net/\n.. _hetzner: https://dns.hetzner.com/api-docs/\n.. _hostingde:\n.. _hover: https://www.hover.com/\n.. _infoblox: https://docs.infoblox.com/display/ilp/infoblox+documentation+portal\n.. _infomaniak: https://www.infomaniak.com\n.. _internetbs: https://internetbs.net/resellerregistrardomainnameapi\n.. _inwx: https://www.inwx.de/en/offer/api\n.. _joker: https://joker.com/faq/index.php?action=show\u0026cat=39\n.. _linode: https://www.linode.com/api/dns\n.. _linode4: https://developers.linode.com/api/docs/v4#tag/domains\n.. _localzone:\n.. _luadns: http://www.luadns.com/api.html\n.. _memset: https://www.memset.com/apidocs/methods_dns.html\n.. _misaka: https://misaka.io/dns/\n.. _mythicbeasts: https://www.mythic-beasts.com/support/api/dnsv2\n.. _namecheap: https://www.namecheap.com/support/api/methods.aspx\n.. _namecom: https://www.name.com/api-docs\n.. _namesilo: https://www.namesilo.com/api_reference.php\n.. _netcup: https://ccp.netcup.net/run/webservice/servers/endpoint.php\n.. _nfsn:\n.. _njalla: https://njal.la/api/\n.. _nsone: https://ns1.com/api/\n.. _oci: https://docs.oracle.com/en-us/iaas/Content/DNS/home.htm\n.. _onapp: https://docs.onapp.com/display/55api/onapp+5.5+api+guide\n.. _online:\n.. _ovh: https://api.ovh.com/\n.. _plesk: https://docs.plesk.com/en-us/onyx/api-rpc/about-xml-api.28709/\n.. _pointhq: https://pointhq.com/api/docs\n.. _porkbun: https://kb.porkbun.com/article/190-getting-started-with-the-porkbun-dns-api\n.. _powerdns: https://doc.powerdns.com/md/httpapi/api_spec/\n.. _qcloud: https://cloud.tencent.com/document/product/1427/56194\n.. _rackspace: https://developer.rackspace.com/docs/cloud-dns/v1/developer-guide/\n.. _rage4: https://gbshouse.uservoice.com/knowledgebase/articles/109834-rage4-dns-developers-api\n.. _rcodezero: https://my.rcodezero.at/api-doc\n.. _route53: https://docs.aws.amazon.com/route53/latest/apireference/welcome.html\n.. _safedns: https://developers.ukfast.io/documentation/safedns\n.. _sakuracloud: https://developer.sakura.ad.jp/cloud/api/1.1/\n.. _softlayer: https://sldn.softlayer.com/article/rest#http_request_types\n.. _timeweb: https://timeweb.cloud/api-docs\n.. _transip: https://api.transip.nl/rest/docs.html\n.. _ultradns: https://ultra-portalstatic.ultradns.com/static/docs/rest-api_user_guide.pdf\n.. _valuedomain: https://www.value-domain.com/service/api/\n.. _vercel: https://vercel.com/docs/api#endpoints/dns\n.. _vultr: https://www.vultr.com/api/#tag/dns\n.. _webgo: https://www.webgo.de/\n.. _wedos: https://www.wedos.com/cs/\n.. _yandex: https://yandex.com/dev/domain/doc/reference/dns-add.html\n.. _yandexcloud: https://cloud.yandex.com/en/docs/dns/api-ref/DnsZone/\n.. _zeit:\n.. _zilore: https://zilore.com/en/help/api\n.. _zonomi: http://zonomi.com/app/dns/dyndns.jsp\n\n.. tag: intro-end\n\nDocumentation\n=============\n\nOnline documentation (user guide, configuration reference) is available in the `Lexicon documentation`_.\n\nFor a quick start, please have a look in particular at the `User guide`_.\n\n.. _Lexicon documentation: https://dns-lexicon.readthedocs.io\n.. _User guide: https://dns-lexicon.readthedocs.io/en/latest/user_guide.html\n\nContributing\n============\n\nIf you want to help in the Lexicon development, you are welcome!\n\nPlease have a look at the `Developer guide`_ page to know how to start.\n\n.. _Developer guide: https://dns-lexicon.readthedocs.io/en/latest/developer_guide.html\n\nLicensing\n=========\n\n- MIT\n- Logo_: transform by Mike Rowe from the Noun Project\n\n.. _Logo: https://thenounproject.com/term/transform/397964\n","funding_links":[],"categories":["Python","Misc","Others","Install from Source","Libraries","cli","Integrations","Network","DNS"],"sub_categories":["DNS","completely supported"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAnalogJ%2Flexicon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAnalogJ%2Flexicon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAnalogJ%2Flexicon/lists"}