Git Product home page Git Product logo

common-py-libs's People

Watchers

 avatar  avatar  avatar  avatar  avatar

common-py-libs's Issues

Remove unrelated requirements

requirements.txt should only contain the shared libraries between all nube-io python projects.
Each other project should install its own requirements in this folder from its script.bash

  • BAC0
  • bacpypes
  • pymodbus
  • influxdb
  • pyserial
  • and any others that are only dependant to one project

example bash lines to install its own requirements for other projects:

echo -e "${GREEN}Installing requirements in ${LIB_DIR}...${DEFAULT}"
source ${LIB_DIR}/venv/bin/activate
pip install -r requirements.txt
deactivate

Follow up action after finish build artifact as binary

  • NubeIO/rubix-service#32: Then following up action
    • Use command in binary to start
    • Remove all bash.script in every repository
    • When wanting to install/register app as service, provide service template to run and/or add option in REST
    • Remove token in linux service file. Introduce GitHub token as option in REST /download, and able to add token as permanent in database/text by another REST :PATCH /token
  • Check rubix-bacnet-server and rubix-point-server binary to ensure BAC0 without panda can work, because VirtualPoint needs it but I don't know which part in these projects implement it. @NubeDev
  • Fix logging should extends from gunicorn. But IMHO, it is unprofitable function because only send log from one app to mqtt. I recommend don't waste time for it, many options available, aka: stream syslog directly to influxdb.
  • Don't introduce setup.py, because poetry can do it pretty well. See poetry packages. And I don't see benefit for that @Shiny380
  • Correct VERSION file path. It is wrong implementation and crash /ping resource
    https://github.com/NubeIO/lora-raw/blob/d2051191ed57c15f863c5745bf85779433e5c998/src/resources/ping.py#L10-L11
    I just fixed it temporary, but should have workflow to bundle VERSION file and read it in binary later
    https://github.com/NubeIO/lora-raw/blob/902f4a585f6042b27919f1d3da639ace0302ba12/src/resources/ping.py#L11-L15
  • Use influxdb-client-python instead of influxdb-python if current influx database version > 1.8.0
    curl -i -X GET 188.166.208.225:8086/ping
    HTTP/1.1 204 No Content
    Content-Type: application/json
    Request-Id: 1cdd06d6-4923-11eb-9efb-0eb3c650dce6
    X-Influxdb-Build: OSS
    X-Influxdb-Version: 1.8.1
    X-Request-Id: 1cdd06d6-4923-11eb-9efb-0eb3c650dce6
    Date: Mon, 28 Dec 2020 15:41:12 GMT
    

Issue on install script.bash: line 3: pip: command not found

pi@raspberrypi:~/common-py-libs $ bash script.bash
Get:1 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
Hit:2 https://deb.nodesource.com/node_10.x buster InRelease                
Get:3 http://archive.raspberrypi.org/debian buster InRelease [32.6 kB]
Get:4 http://archive.raspberrypi.org/debian buster/main armhf Packages [346 kB]
Fetched 393 kB in 4s (108 kB/s)    
Reading package lists... Done
Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version (12.6).
python-dev is already the newest version (2.7.16-1).
python-setuptools is already the newest version (40.8.0-1).
python3-venv is already the newest version (3.7.3-1).
python3-pip is already the newest version (18.1-5+rpt1).
0 upgraded, 0 newly installed, 0 to remove and 47 not upgraded.
script.bash: line 3: pip: command not found

Breaking Changes

This repository should be deprecated after merged PR. just reference to README for checking Python recommendations in development

@NubeDev @RaiBnod @Shiny380

  • Python recommendations for development. Check dev branch
  • Use setting in json format instead of ini file: for strict type and easy update from command line/another tool
  • Build to binary execution
  • Dockerize
  • Develop on any python version > 3.6, production build in 3.9. No required specific python version on edge device

Issue when install on a PI

pi@raspberrypi:~/common-py-libs $ python3 --version
Python 3.7.3
pymodbus 2.4.0 has requirement six>=1.15.0, but you'll have six 1.12.0 which is incompatible.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.