exabgp


Nameexabgp JSON
Version 4.2.22 PyPI version JSON
download
home_pagehttps://github.com/Exa-Networks/exabgp
SummaryBGP swiss army knife
upload_time2024-06-12 23:00:50
maintainerNone
docs_urlNone
authorThomas Mangin
requires_pythonNone
licenseBSD 3-Clause License
keywords bgp ipv4 ipv6 mpls vpls flowspec bgp-ls sdn ha ddos
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            ======
ExaBGP
======

.. image:: https://img.shields.io/pypi/v/exabgp.svg
   :target: https://pypi.python.org/pypi/exabgp/
   :alt: Latest Version

.. image:: https://img.shields.io/pypi/dm/exabgp.svg
   :target: https://pypi.python.org/pypi/exabgp/
   :alt: Downloads

.. image:: https://coveralls.io/repos/github/Exa-Networks/exabgp/badge.svg?branch=master
   :target: https://coveralls.io/r/Exa-Networks/exabgp
   :alt: Coverage

.. image:: https://img.shields.io/pypi/l/exabgp.svg
   :target: https://pypi.python.org/pypi/exabgp/
   :alt: License

.. contents:: **Table of Contents**
   :depth: 2

Introduction
============

ExaBGP allows engineers to control their network from commodity servers. Think of it as Software Defined Networking using BGP.

It can be used to announce ipv4, ipv6, vpn or flow routes (for DDOS protection) from its configuration file(s).
ExaBGP can also transform BGP messages into friendly plain text or JSON which can be easily manipulate by scripts and report peer announcements.

It supports IPv4, IPv6, mpls, vpls, bgp-ls, flowspec and more.

Installation
============

Prerequisites
-------------

ExaBGP requires a recent python 3 version (3.7 or later recommended). It includes/vendors its dependencies.

Using pip
---------

#. Use pip to install the packages:

::

    pip install -U exabgp
    exabgp --help


Without installation
--------------------

::

    curl -L https://github.com/Exa-Networks/exabgp/archive/4.2.22.tar.gz | tar zx
    ./exabgp-4.2.22/sbin/exabgp --help

Feedback and getting involved
=============================

- Slack: https://join.slack.com/t/exabgp/shared_invite/enQtNTM3MTU5NTg5NTcyLTZjNmZhOWY5MWU3NTlkMTc5MmZlZmI4ZDliY2RhMGIwMDNkMmIzMDE3NTgwNjkwYzNmMDMzM2QwZjdlZDkzYTg
- #exabgp: irc://irc.freenode.net:6667/exabgp (unmonitored)
- Twitter: https://twitter.com/#!/search/exabgp
- Mailing list: http://groups.google.com/group/exabgp-users
- Issue tracker: https://github.com/Exa-Networks/exabgp/issues
- Code Repository: https://github.com/Exa-Networks/exabgp

Versions
========

Version explained:
 - major : codebase increase on incompatible changes
 - minor : increase on risk of code breakage during a major release
 - bug   : increase on bug or incremental changes

Version 4.2.22
 * Fix: route reload for offline neighbors #1126
   patch: Malcolm Dodds
 * Fix: make sure we compare next-hop self and next-hop IP correctly (#1153)
   reported: gitneep
 * Compatibility: remove "not-a-fragment" "!is-fragment" should be used instead
 * Upgrade six to the latest version

Version 4.2.21
 * Fix: regressing on announcing routes from the API #1108

Version 4.2.20
 * Fix: correctly filter routes announced by the API to the right peer #1005
 * Feature: healthcheck neighbor filtering and path-information backport of #1098 and #1099
 * Fix: backport #1101 fix parsing of FlowSpec TCPFlags with NS
 * Fix: backport #1102 fix parsing of Fragment with IPv6 destinations/sources
 * Fix: bug in CLI when failing to read data

Version 4.2.19
 * Feature: force PGP signing of tags
 * Feature: backport ICMP types
 * Fix: backport healthcheck setup_ips requiring a label
   backport by: Steven Honson

Version 4.2.18
 * Feature: add ICMP experimental codes
   reported: enag11
 * Feature: PGP signing releases

Version 4.2.17
 * Feature: add flags ECE, CW and NS to TCP, (not sure if any flowspec implementation uses them) #1053
   reported by: enag11
 * Fix: bug with IGP Metric #1056
   patch by: hkml2000

Version 4.2.16
 * Fix: bacckport of fix for #1051 tcp-flag operators != and &!= return syntax error
   reported by: enag11

Version 4.2.15
 * Fix: #1035 Socket remains in CLOSED state after the interface goes down
   patch: borjam
 * Fix: #1041 backport

Version 4.2.14
 * Fix: issue reading data from the peer
   reported by: isjerryxiao
 * Feature: allow IPv6 redirect
   patch by: rzalamena
 * Fix: fix decoding of path information (inbound vs outbound)
   reported by: isjerryxiao

Version 4.2.13
 * Fix: issue when there is no route to the peer and the connection looked like it established with the API
   reported by: iddq
 * Fix: healthcheck was not ending if/when exabgp did
   reported by: mzealey
 * Fix: issue with poller
   reported by: emilstahl97

Version 4.2.12
 * Fix: issue with flow fragment (issue #1027)

Version 4.2.11
 * Feature: new release code allowing the creation of zipapp

 Version 4.2.10:
 * Fix: cache invalidation on clear command
 patch by: Boris Murashov

Version 4.2.9
 * Fix: healthcheck --sudo, --debug and --no-ack are not exclusive
   reported by: sincerywaing

Version 4.2.8:
 * Fix: restore python -m exabgp

Version 4.2.7:
 * Feature: logging parsing in debug mode will now print the JSON of updates
 * Fix: issue during restart
 * Fix: add ipv6 mpls to add-path
   patch by: adrian62
 * Fix: aggregator parsing when no space are used around ()
   reported by: thomas955
 * Fix: high CPU load to do sleeptime in second and not ms
   reported by: Gary Buhrmaster
 * Change: BGP-LS TE-RIDs are now reported as a list (as Arista reports more than one)
   patch: tomjshine
 * reported: the RIB code so withdraw message before any announce are sent
        this does change the RIB behaviour sending withdrawal when it was not previously
 * Fix: bad parsing in some case when capability next-hop was used
   reported: alexejli

Version 4.2.6:
 * Fix: prevent the deletion of IP addresses not added by the healthchecker

Version 4.2.5:
 * Fix: Fix loopback detection without label issue
   patch by: Ruben Herold

Version 4.2.4:
 * Change: display next-hop in flow redirect (fixes a bug with route generation too)
   reported by: Cathal Mooney

Version 4.2.3:
 * Fix: issue with sending data toward API
   reported by: jkldgoefgkljefogeg
 * Fix: bug in spin prevention (true vs True)
 * Fix: peer and local ID for show neighbor commands

Version 4.2.2:
 * Fix: issue with new respawn feature breaking the API

Version 4.2.1:
 * Feature: use vendored ip_address module for healthcheck
 * Feature: respawn option under the process (disable re-starting the api program on failure)
 * Feature: support for single announcement for the healthcheck

Version 4.2.0:
 * Feature: Support additional sub-type of BGP-Prefix-SID for SRv6-VPN 
   patch by: Hiroki SHIROKURA
 * Fix: issue with pypi release (can not pip install)
   reported by: Thomas Faivre
 * Fix: on 'restart' config could improperly interference with current config which leads to inconsystent state and crash
   patch by: Alexander Petrovsky
 * Feature: "rate-limit" (per neighbor) limit the number of BGP message(s) handled per second
 * Feature: support draft-ietf-idr-flowspec-redirect-02 (previously only simpson was supported)
   patch by: Eli Lindsey
 * Feature: BGP LS IPv6 parsing support
   patch by: Tinus Flagstad
 * Feature: healthcheck handle loopback for non-Linux machines
 * Fix: use local IP for router-id when the peer is auto-deteted (and not the remote IP)
 * Fix: potential python3/python2 bytes vs string issues when generating updates
 * Fix: label is mandatory when using RD, force it, and perform better checks on the configuration
 * Fix: sending route-refresh message via the API was broken
   reported by: Konrad Zemek
 * Fix: make sure exabgpcli does not hang when exabgp.api.ack is set to False
   patch by: basyron
 * Fix: not correctly recording AFI for next-hop self use
 * Fix: removal of ip address by healthcheck
   patch by: wavezhang
 * Fix: healthcheck on ^C during time.sleep, exit gracefully
 * Fix: healthcheck do not fail if the IP address exist when we are trying to add it
 * Fix: healthcheck correctly remove the IP address on going down if it was added
 * Fix: bug when parsing passive keyword alone (was false not true)
 * Fix: was not always terminating with error code 0 when all was good
   patch by: badrabubker
 * CHANGE: large change to the configuration code (should not have any effect but the devil is in the details)
 * CHANGE: using next-hop self could lead to route generated with a IPv6 next-hop in the IPv4 next-hop
   This COULD have been accepted by peers. This version does prevent such generation.
 * CHANGE: resolve symlink when reading the file and not when parsing the configuration
   reported by: juise (with alternative patch - thank you)
 * CHANGE: the reactor was changed from using select to poll (removing the 1024 limit on connections)
 * CHANGE: rewrote setup.py, moving release code into another file

Version 4.1.5:
 * Deleted: could not install via pip install

Version 4.1.4:
 * Deleted: could not install via pip install

Version 4.1.3:
 * Deleted: could not install via pip install

Version 4.1.2
 * Feature: exabgpcli autocomplete
 * Fix: exabgpcli was not correctly removing data on the pipe in case of issues

Version 4.1.1
 * CHANGE: some message are now printed using the log routes option and not parser anymore
 * Fix: bug with functional testing code when using python3
   patch by: Cooper Lees
 * Fix: bug with ExaBGP cli not working
   reported by: jlixfeld (thank you to Cooper Lees for providing time and a test env. to reproduce)

Version 4.1.0
 * CHANGE: when redifining a single parameter option using inheritence the value will be replaced
 * CHANGE: FlowSpec TRUE and FALSE value have been updated to use the latest RFC and are therefore inverted from previous versions
 * CHANGE: an invalid netmask for a network will now cause ExaBGP to fail the parsing of the route (it can stop ExaBGP from starting with bad routes)
 * Feature: support for extended next-hop (RFC 5549)
 * Feature: implemented API for "clear adj-rib out" and "flush adj-rib out"
 * Fix: regression pointed in #873
   patch: Malcolm Dodds
 * Fix: do not crash when trying to be helpful in presenting notification message
   reported by: Adam Jacob Muller
 * Fix: issue while handling ranged neighbors
   patch: Wenxin Wang
 * Fix: accumulating families when using multiple peers
   patch: Martin Topholm (reviewed)
 * Fix: could not reload configuration
   reported by: gbock
 * Feature: better RFC5575bis support, better treat as withdraw
   patch: Christoph Loibl
 * Fix: Fix issue when using peer ASN discovery
   patch: Zac Medico
 * Fix: MD5 encoding
   reported by: Adam Jacob Muller (with an initial idea for a patch)
 * Fix: ignore unknown BGP-LS SID
   reported by: MosesN
 * Fix: badly deciding when to send or not AddPath from parsing the Capability
   reported by: ivan-balan


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Exa-Networks/exabgp",
    "name": "exabgp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "BGP, ipv4, ipv6, mpls, vpls, flowspec, bgp-ls, SDN, HA, DDOS",
    "author": "Thomas Mangin",
    "author_email": "thomas.mangin@exa-networks.co.uk",
    "download_url": "https://files.pythonhosted.org/packages/36/0e/07211cb10bc9c1cbbbf3d92c01106e35a42abfc530939074a9c1dc9ae717/exabgp-4.2.22.tar.gz",
    "platform": null,
    "description": "======\nExaBGP\n======\n\n.. image:: https://img.shields.io/pypi/v/exabgp.svg\n   :target: https://pypi.python.org/pypi/exabgp/\n   :alt: Latest Version\n\n.. image:: https://img.shields.io/pypi/dm/exabgp.svg\n   :target: https://pypi.python.org/pypi/exabgp/\n   :alt: Downloads\n\n.. image:: https://coveralls.io/repos/github/Exa-Networks/exabgp/badge.svg?branch=master\n   :target: https://coveralls.io/r/Exa-Networks/exabgp\n   :alt: Coverage\n\n.. image:: https://img.shields.io/pypi/l/exabgp.svg\n   :target: https://pypi.python.org/pypi/exabgp/\n   :alt: License\n\n.. contents:: **Table of Contents**\n   :depth: 2\n\nIntroduction\n============\n\nExaBGP allows engineers to control their network from commodity servers. Think of it as Software Defined Networking using BGP.\n\nIt can be used to announce ipv4, ipv6, vpn or flow routes (for DDOS protection) from its configuration file(s).\nExaBGP can also transform BGP messages into friendly plain text or JSON which can be easily manipulate by scripts and report peer announcements.\n\nIt supports IPv4, IPv6, mpls, vpls, bgp-ls, flowspec and more.\n\nInstallation\n============\n\nPrerequisites\n-------------\n\nExaBGP requires a recent python 3 version (3.7 or later recommended). It includes/vendors its dependencies.\n\nUsing pip\n---------\n\n#. Use pip to install the packages:\n\n::\n\n    pip install -U exabgp\n    exabgp --help\n\n\nWithout installation\n--------------------\n\n::\n\n    curl -L https://github.com/Exa-Networks/exabgp/archive/4.2.22.tar.gz | tar zx\n    ./exabgp-4.2.22/sbin/exabgp --help\n\nFeedback and getting involved\n=============================\n\n- Slack: https://join.slack.com/t/exabgp/shared_invite/enQtNTM3MTU5NTg5NTcyLTZjNmZhOWY5MWU3NTlkMTc5MmZlZmI4ZDliY2RhMGIwMDNkMmIzMDE3NTgwNjkwYzNmMDMzM2QwZjdlZDkzYTg\n- #exabgp: irc://irc.freenode.net:6667/exabgp (unmonitored)\n- Twitter: https://twitter.com/#!/search/exabgp\n- Mailing list: http://groups.google.com/group/exabgp-users\n- Issue tracker: https://github.com/Exa-Networks/exabgp/issues\n- Code Repository: https://github.com/Exa-Networks/exabgp\n\nVersions\n========\n\nVersion explained:\n - major : codebase increase on incompatible changes\n - minor : increase on risk of code breakage during a major release\n - bug   : increase on bug or incremental changes\n\nVersion 4.2.22\n * Fix: route reload for offline neighbors #1126\n   patch: Malcolm Dodds\n * Fix: make sure we compare next-hop self and next-hop IP correctly (#1153)\n   reported: gitneep\n * Compatibility: remove \"not-a-fragment\" \"!is-fragment\" should be used instead\n * Upgrade six to the latest version\n\nVersion 4.2.21\n * Fix: regressing on announcing routes from the API #1108\n\nVersion 4.2.20\n * Fix: correctly filter routes announced by the API to the right peer #1005\n * Feature: healthcheck neighbor filtering and path-information backport of #1098 and #1099\n * Fix: backport #1101 fix parsing of FlowSpec TCPFlags with NS\n * Fix: backport #1102 fix parsing of Fragment with IPv6 destinations/sources\n * Fix: bug in CLI when failing to read data\n\nVersion 4.2.19\n * Feature: force PGP signing of tags\n * Feature: backport ICMP types\n * Fix: backport healthcheck setup_ips requiring a label\n   backport by: Steven Honson\n\nVersion 4.2.18\n * Feature: add ICMP experimental codes\n   reported: enag11\n * Feature: PGP signing releases\n\nVersion 4.2.17\n * Feature: add flags ECE, CW and NS to TCP, (not sure if any flowspec implementation uses them) #1053\n   reported by: enag11\n * Fix: bug with IGP Metric #1056\n   patch by: hkml2000\n\nVersion 4.2.16\n * Fix: bacckport of fix for #1051 tcp-flag operators != and &!= return syntax error\n   reported by: enag11\n\nVersion 4.2.15\n * Fix: #1035 Socket remains in CLOSED state after the interface goes down\n   patch: borjam\n * Fix: #1041 backport\n\nVersion 4.2.14\n * Fix: issue reading data from the peer\n   reported by: isjerryxiao\n * Feature: allow IPv6 redirect\n   patch by: rzalamena\n * Fix: fix decoding of path information (inbound vs outbound)\n   reported by: isjerryxiao\n\nVersion 4.2.13\n * Fix: issue when there is no route to the peer and the connection looked like it established with the API\n   reported by: iddq\n * Fix: healthcheck was not ending if/when exabgp did\n   reported by: mzealey\n * Fix: issue with poller\n   reported by: emilstahl97\n\nVersion 4.2.12\n * Fix: issue with flow fragment (issue #1027)\n\nVersion 4.2.11\n * Feature: new release code allowing the creation of zipapp\n\n Version 4.2.10:\n * Fix: cache invalidation on clear command\n patch by: Boris Murashov\n\nVersion 4.2.9\n * Fix: healthcheck --sudo, --debug and --no-ack are not exclusive\n   reported by: sincerywaing\n\nVersion 4.2.8:\n * Fix: restore python -m exabgp\n\nVersion 4.2.7:\n * Feature: logging parsing in debug mode will now print the JSON of updates\n * Fix: issue during restart\n * Fix: add ipv6 mpls to add-path\n   patch by: adrian62\n * Fix: aggregator parsing when no space are used around ()\n   reported by: thomas955\n * Fix: high CPU load to do sleeptime in second and not ms\n   reported by: Gary Buhrmaster\n * Change: BGP-LS TE-RIDs are now reported as a list (as Arista reports more than one)\n   patch: tomjshine\n * reported: the RIB code so withdraw message before any announce are sent\n        this does change the RIB behaviour sending withdrawal when it was not previously\n * Fix: bad parsing in some case when capability next-hop was used\n   reported: alexejli\n\nVersion 4.2.6:\n * Fix: prevent the deletion of IP addresses not added by the healthchecker\n\nVersion 4.2.5:\n * Fix: Fix loopback detection without label issue\n   patch by: Ruben Herold\n\nVersion 4.2.4:\n * Change: display next-hop in flow redirect (fixes a bug with route generation too)\n   reported by: Cathal Mooney\n\nVersion 4.2.3:\n * Fix: issue with sending data toward API\n   reported by: jkldgoefgkljefogeg\n * Fix: bug in spin prevention (true vs True)\n * Fix: peer and local ID for show neighbor commands\n\nVersion 4.2.2:\n * Fix: issue with new respawn feature breaking the API\n\nVersion 4.2.1:\n * Feature: use vendored ip_address module for healthcheck\n * Feature: respawn option under the process (disable re-starting the api program on failure)\n * Feature: support for single announcement for the healthcheck\n\nVersion 4.2.0:\n * Feature: Support additional sub-type of BGP-Prefix-SID for SRv6-VPN \n   patch by: Hiroki SHIROKURA\n * Fix: issue with pypi release (can not pip install)\n   reported by: Thomas Faivre\n * Fix: on 'restart' config could improperly interference with current config which leads to inconsystent state and crash\n   patch by: Alexander Petrovsky\n * Feature: \"rate-limit\" (per neighbor) limit the number of BGP message(s) handled per second\n * Feature: support draft-ietf-idr-flowspec-redirect-02 (previously only simpson was supported)\n   patch by: Eli Lindsey\n * Feature: BGP LS IPv6 parsing support\n   patch by: Tinus Flagstad\n * Feature: healthcheck handle loopback for non-Linux machines\n * Fix: use local IP for router-id when the peer is auto-deteted (and not the remote IP)\n * Fix: potential python3/python2 bytes vs string issues when generating updates\n * Fix: label is mandatory when using RD, force it, and perform better checks on the configuration\n * Fix: sending route-refresh message via the API was broken\n   reported by: Konrad Zemek\n * Fix: make sure exabgpcli does not hang when exabgp.api.ack is set to False\n   patch by: basyron\n * Fix: not correctly recording AFI for next-hop self use\n * Fix: removal of ip address by healthcheck\n   patch by: wavezhang\n * Fix: healthcheck on ^C during time.sleep, exit gracefully\n * Fix: healthcheck do not fail if the IP address exist when we are trying to add it\n * Fix: healthcheck correctly remove the IP address on going down if it was added\n * Fix: bug when parsing passive keyword alone (was false not true)\n * Fix: was not always terminating with error code 0 when all was good\n   patch by: badrabubker\n * CHANGE: large change to the configuration code (should not have any effect but the devil is in the details)\n * CHANGE: using next-hop self could lead to route generated with a IPv6 next-hop in the IPv4 next-hop\n   This COULD have been accepted by peers. This version does prevent such generation.\n * CHANGE: resolve symlink when reading the file and not when parsing the configuration\n   reported by: juise (with alternative patch - thank you)\n * CHANGE: the reactor was changed from using select to poll (removing the 1024 limit on connections)\n * CHANGE: rewrote setup.py, moving release code into another file\n\nVersion 4.1.5:\n * Deleted: could not install via pip install\n\nVersion 4.1.4:\n * Deleted: could not install via pip install\n\nVersion 4.1.3:\n * Deleted: could not install via pip install\n\nVersion 4.1.2\n * Feature: exabgpcli autocomplete\n * Fix: exabgpcli was not correctly removing data on the pipe in case of issues\n\nVersion 4.1.1\n * CHANGE: some message are now printed using the log routes option and not parser anymore\n * Fix: bug with functional testing code when using python3\n   patch by: Cooper Lees\n * Fix: bug with ExaBGP cli not working\n   reported by: jlixfeld (thank you to Cooper Lees for providing time and a test env. to reproduce)\n\nVersion 4.1.0\n * CHANGE: when redifining a single parameter option using inheritence the value will be replaced\n * CHANGE: FlowSpec TRUE and FALSE value have been updated to use the latest RFC and are therefore inverted from previous versions\n * CHANGE: an invalid netmask for a network will now cause ExaBGP to fail the parsing of the route (it can stop ExaBGP from starting with bad routes)\n * Feature: support for extended next-hop (RFC 5549)\n * Feature: implemented API for \"clear adj-rib out\" and \"flush adj-rib out\"\n * Fix: regression pointed in #873\n   patch: Malcolm Dodds\n * Fix: do not crash when trying to be helpful in presenting notification message\n   reported by: Adam Jacob Muller\n * Fix: issue while handling ranged neighbors\n   patch: Wenxin Wang\n * Fix: accumulating families when using multiple peers\n   patch: Martin Topholm (reviewed)\n * Fix: could not reload configuration\n   reported by: gbock\n * Feature: better RFC5575bis support, better treat as withdraw\n   patch: Christoph Loibl\n * Fix: Fix issue when using peer ASN discovery\n   patch: Zac Medico\n * Fix: MD5 encoding\n   reported by: Adam Jacob Muller (with an initial idea for a patch)\n * Fix: ignore unknown BGP-LS SID\n   reported by: MosesN\n * Fix: badly deciding when to send or not AddPath from parsing the Capability\n   reported by: ivan-balan\n\n",
    "bugtrack_url": null,
    "license": "BSD 3-Clause License",
    "summary": "BGP swiss army knife",
    "version": "4.2.22",
    "project_urls": {
        "Download": "https://github.com/Exa-Networks/exabgp/archive/4.2.22.tar.gz",
        "Homepage": "https://github.com/Exa-Networks/exabgp"
    },
    "split_keywords": [
        "bgp",
        " ipv4",
        " ipv6",
        " mpls",
        " vpls",
        " flowspec",
        " bgp-ls",
        " sdn",
        " ha",
        " ddos"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "360e07211cb10bc9c1cbbbf3d92c01106e35a42abfc530939074a9c1dc9ae717",
                "md5": "ad42099ae281782e95d397da47fee529",
                "sha256": "d7d20ae444189e42438acec78b4331a71358698c7af7f78c8920fa2d1da64c94"
            },
            "downloads": -1,
            "filename": "exabgp-4.2.22.tar.gz",
            "has_sig": false,
            "md5_digest": "ad42099ae281782e95d397da47fee529",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 409812,
            "upload_time": "2024-06-12T23:00:50",
            "upload_time_iso_8601": "2024-06-12T23:00:50.968590Z",
            "url": "https://files.pythonhosted.org/packages/36/0e/07211cb10bc9c1cbbbf3d92c01106e35a42abfc530939074a9c1dc9ae717/exabgp-4.2.22.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-12 23:00:50",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Exa-Networks",
    "github_project": "exabgp",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [],
    "lcname": "exabgp"
}
        
Elapsed time: 0.31651s