diff --git a/.travis.yml b/.travis.yml index 4a91aba..2a37c71 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,25 @@ language: python -python: - - "3.7" -sudo: false cache: pip matrix: include: - - os: linux + - name: "Python 3.7 and GCC 7" + python: "3.7" + os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-7 + - libperl-dev + env: + - CC=gcc-7 + - CXX=g++-7 + + - name: "Python 3.7 and GCC 8" + python: "3.7" + os: linux addons: apt: sources: @@ -17,10 +30,25 @@ matrix: env: - CC=gcc-8 - CXX=g++-8 - + + - name: "Python 3.7 and Clang 5" + python: "3.7" + os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - clang-5.0 + - libperl-dev + env: + - CC=clang-5.0 + - CXX=clang++-5.0 + before_install: - sudo ln -s "/usr/bin/${CC}" /usr/local/bin/gcc - sudo ln -s "/usr/bin/${CXX}" /usr/local/bin/g++ + - gcc -v && g++ -v && cmake --version - wget https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.gz -O /tmp/boost.tar.gz - tar -xvf /tmp/boost.tar.gz boost_1_70_0/boost - export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:$PWD/boost_1_70_0/ @@ -41,6 +69,10 @@ install: - poetry install -v script: + - pylint snmp_fetch tests + - flake8 snmp_fetch tests + - mypy -m snmp_fetch -m tests + - bandit -r snmp_fetch - poetry run pytest -v --cov --hypothesis-show-statistics tests/ after_success: diff --git a/README.rst b/README.rst index f2ea5f3..846bd2b 100644 --- a/README.rst +++ b/README.rst @@ -1,11 +1,14 @@ snmp-fetch ========== -|Version badge| |Python version badge| |PyPI format badge| |Build badge| |Coverage badge| +|Version badge| |Platform badge| |Python version badge| |PyPI format badge| |Build badge| |Coverage badge| .. |Version badge| image:: https://img.shields.io/pypi/v/snmp-fetch :target: https://pypi.org/project/snmp-fetch/ +.. |Platform badge| image:: https://img.shields.io/badge/platform-linux-lightgrey + :alt: Platform - Linux + .. |Python version badge| image:: https://img.shields.io/pypi/pyversions/snmp-fetch :alt: PyPI - Python Version :target: https://pypi.org/project/snmp-fetch/ @@ -25,7 +28,7 @@ An opinionated python3.7 SNMPv2 library designed for rapid database ingestion. Prerequisites """"""""""""" -Snmp-fetch is built for python 3.7 and c++17. Building is currently only tested on gcc 8. The following prerequisites must also be installed before adding snmp-fetch to your project. +Snmp-fetch is built for python 3.7 and c++17. The following prerequisites must also be installed before adding snmp-fetch to your project. net-snmp '''''''' diff --git a/poetry.lock b/poetry.lock index e16fdd5..4207d31 100644 --- a/poetry.lock +++ b/poetry.lock @@ -277,6 +277,18 @@ numpy = ">=1.13.3" python-dateutil = ">=2.6.1" pytz = ">=2017.2" +[[package]] +category = "dev" +description = "Object-oriented filesystem paths" +marker = "python_version < \"3.6\"" +name = "pathlib2" +optional = false +python-versions = "*" +version = "2.3.4" + +[package.dependencies] +six = "*" + [[package]] category = "dev" description = "Python Build Reasonableness" @@ -425,6 +437,10 @@ wcwidth = "*" python = "<3.8" version = ">=0.12" +[package.dependencies.pathlib2] +python = "<3.6" +version = ">=2.2.0" + [[package]] category = "dev" description = "Pytest plugin for measuring coverage." @@ -619,8 +635,8 @@ version = "0.6.0" more-itertools = "*" [metadata] -content-hash = "1e90e434c08e27d5ae34e7f6a054be0c69c47f84afda4f923e9dfb95f8ae0461" -python-versions = "^3.7" +content-hash = "d23f14ed9e0366d664e408c4d20f9bf6360e37cb708cdb8e59c1d34010a6c137" +python-versions = "^3.5.3" [metadata.hashes] astroid = ["6560e1e1749f68c64a4b5dee4e091fce798d2f0d84ebe638cf0e0585a343acf4", "b65db1bbaac9f9f4d190199bb8680af6f6f84fd3769a5ea883df8a91fe68b4c4"] @@ -650,6 +666,7 @@ numpy = ["05dbfe72684cc14b92568de1bc1f41e5f62b00f714afc9adee42f6311738091f", "0d numpy-stubs = [] packaging = ["28b924174df7a2fa32c1953825ff29c61e2f5e082343165438812f00d3a7fc47", "d9551545c6d761f3def1677baf08ab2a3ca17c56879e70fecba2fc4dde4ed108"] pandas = ["18d91a9199d1dfaa01ad645f7540370ba630bdcef09daaf9edf45b4b1bca0232", "3f26e5da310a0c0b83ea50da1fd397de2640b02b424aa69be7e0784228f656c9", "4182e32f4456d2c64619e97c58571fa5ca0993d1e8c2d9ca44916185e1726e15", "426e590e2eb0e60f765271d668a30cf38b582eaae5ec9b31229c8c3c10c5bc21", "5eb934a8f0dc358f0e0cdf314072286bbac74e4c124b64371395e94644d5d919", "717928808043d3ea55b9bcde636d4a52d2236c246f6df464163a66ff59980ad8", "8145f97c5ed71827a6ec98ceaef35afed1377e2d19c4078f324d209ff253ecb5", "8744c84c914dcc59cbbb2943b32b7664df1039d99e834e1034a3372acb89ea4d", "c1ac1d9590d0c9314ebf01591bd40d4c03d710bfc84a3889e5263c97d7891dee", "cb2e197b7b0687becb026b84d3c242482f20cbb29a9981e43604eb67576da9f6", "d4001b71ad2c9b84ff18b182cea22b7b6cbf624216da3ea06fb7af28d1f93165", "d8930772adccb2882989ab1493fa74bd87d47c8ac7417f5dd3dd834ba8c24dc9", "dfbb0173ee2399bc4ed3caf2d236e5c0092f948aafd0a15fbe4a0e77ee61a958", "eebfbba048f4fa8ac711b22c78516e16ff8117d05a580e7eeef6b0c2be554c18", "f1b21bc5cf3dbea53d33615d1ead892dfdae9d7052fa8898083bec88be20dcd2"] +pathlib2 = ["2156525d6576d21c4dcaddfa427fae887ef89a7a9de5cbfe0728b3aafa78427e", "446014523bb9be5c28128c4d2a10ad6bb60769e78bd85658fe44a450674e0ef8"] pbr = ["2c8e420cd4ed4cec4e7999ee47409e876af575d4c35a45840d59e8b5f3155ab8", "b32c8ccaac7b1a20c0ce00ce317642e6cf231cf038f9875e0280e28af5bf7ac9"] pluggy = ["0db4b7601aae1d35b4a033282da476845aa19185c1e6964b25cf324b5e4ec3e6", "fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34"] ply = ["00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3", "096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce"]