analitics

Pages

Monday, May 20, 2019

Python 3.7.3 : The google-cloud-vision python module - part 002.

I used Windows 8.1 and python 3.7.3 version.
The first step is to install the python module.
C:\Python373\Scripts>pip install --upgrade google-cloud-vision
You can see another tutorial about this python module here.
Let's test the python module.
C:\Python373>python
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD6
4)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from google.cloud import vision
>>> from google.cloud.vision import types
>>> from PIL import Image, ImageDraw
You need to have billing enabled for your Google Cloud Platform project.
Evaluated prices can vary and Google gives us this online calculator, or let us test with a FREE account with 300$.
To change the billing account go to the Google Cloud Platform Console.
Open the console left side menu and select Billing.
If you have more than one billing account then you need to solve this issue, see this webpage.
The Cloud Vision API integrates vision features, like: including image labeling, face, logo, and landmark detection, optical character recognition (OCR), and detection of explicit content, into applications.
You need to set the authentification for your google account and your project, see this page.
The next step is to instantiate a client:
client = vision.ImageAnnotatorClient()
Google provides this tutorial with the same steps as into this tutorial.
You can test and read more about Google Vision on the official page.

Sunday, May 5, 2019

Python 3.7.3 : Using the cognitive face detection from Azure Microsoft .

The Microsoft Azure comes with this free feature named Computer Vision:
This API key is currently active
7 days remaining
Distill actionable information from images
5,000 transactions, 20 per minute.

You can test with the cognitive_face python module from GitHub.
Another good example of extract printed text can be found at docs.microsoft.com.
Let's install it:
C:\Python373\Scripts>pip install cognitive_face
...
Installing collected packages: cognitive-face
Successfully installed cognitive-face-1.4.2
Now a simple intro using the dir:
C:\Python373>python.exe
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD6
4)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import cognitive_face as CF
>>> dir(CF)
['BaseUrl', 'CognitiveFaceException', 'Key', '__builtins__', '__cached__', '__do
c__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__
', 'face', 'face_list', 'large_face_list', 'large_face_list_face', 'large_person
_group', 'large_person_group_person', 'large_person_group_person_face', 'person'
, 'person_group', 'util']
For detections you need to use the face with detect:
import cognitive_face as CF
# Replace with your valid Subscription Key here.
KEY = '111111111111'  
CF.Key.set(KEY)
# Replace with your regional Base URL based by 
# https://azure.microsoft.com/en-us/try/cognitive-services/my-apis/?apiSlug=computer-vision

BASE_URL = 'https://westcentralus.api.cognitive.microsoft.com/vision/v2.0'  
CF.BaseUrl.set(BASE_URL)

img_url = 'https://previews.123rf.com/images/boarding1now/boarding1now150
8/boarding1now150800143/44403889-background-collage-large-group-portrait
-of-multiracial-young-smile-smiling-people-social-media.jpg'
result = CF.face.detect(img_url)
print (result)

img_url = 'https://raw.githubusercontent.com/Microsoft/Cognitive-Face-
Windows/master/Data/detection1.jpg'
result2 = CF.face.detect(img_url)
print (result2)
The result of this running code is:
C:\Python373>python.exe face_cognitive_001.py
{'objects': [{'rectangle': {'x': 145, 'y': 14, 'w': 121, 'h': 160}, 'object': 'p
erson', 'confidence': 0.535}, {'rectangle': {'x': 533, 'y': 25, 'w': 121, 'h': 1
84}, 'object': 'person', 'confidence': 0.535}], 'requestId': '9a3d41e9-b8cc-49ac
-a99b-f3da8d5fac2a', 'metadata': {'width': 1300, 'height': 866, 'format': 'Jpeg'
}}
{'objects': [{'rectangle': {'x': 236, 'y': 0, 'w': 620, 'h': 657}, 'object': 'pe
rson', 'confidence': 0.912}], 'requestId': 'fd415dd3-0f11-4cac-b307-f58888fc875a
', 'metadata': {'width': 1000, 'height': 664, 'format': 'Jpeg'}}
If you take a look at the images and results will see how this works.

Friday, May 3, 2019

Python 3.7.3 : Try Ethereum with web3.

Today I tested the web3 python module.
This is the Ethereum python module.
More about this python module can be found here.
Ethereum programming has a large area of development.
For transaction you can use:
from web3 import Web3, HTTPProvider, IPCProvider, WebsocketProvider
I tested with an account from infura.io.
>>> from web3 import Web3, HTTPProvider, IPCProvider, WebsocketProvider
>>> w3 = Web3(HTTPProvider('ropsten.infura.io/v3/1f2fb5d1e1be4c11acdbbb07a2e06a1
c'))
>>> dir(w3)
['EthereumTesterProvider', 'HTTPProvider', 'IPCProvider', 'Iban', 'RequestManage
r', 'TestRPCProvider', 'WebsocketProvider', '__class__', '__delattr__', '__dict_
_', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__',
'__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__mo
dule__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__seta
ttr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_ens', 'adm
in', 'ens', 'eth', 'fromWei', 'isAddress', 'isChecksumAddress', 'isConnected', '
manager', 'middleware_stack', 'miner', 'net', 'parity', 'personal', 'providers',
 'sha3', 'soliditySha3', 'testing', 'toBytes', 'toChecksumAddress', 'toHex', 'to
Int', 'toText', 'toWei', 'txpool', 'version']
>>> from eth_account import Account
>>> my_account = Account.create('KEYSMASH FESTILA_GEORGE_CATALIN 1530')
>>> my_account.address
'0x2b8e7E92064F718B0AC91c381968baC8D1561d7d'
>>> # check the adresss and add it to infura.io
...
>>> address=Web3.toChecksumAddress(my_account.address)
>>> print (address)
0x2b8e7E92064F718B0AC91c381968baC8D1561d7d
Let's start with the default installation and some testing with a message:
C:\Python373\Scripts>pip install virtualenv
Requirement already satisfied: virtualenv in c:\python373\lib\site-packages (16.
5.0)
C:\Python373\Scripts>cd ..
C:\Python373>virtualenv env
Using base prefix 'c:\\python373'
New python executable in C:\Python373\env\Scripts\python.exe
Installing setuptools, pip, wheel...
done.
(env) C:\Python373\Scripts>pip install web3
(env) C:\Python373\Scripts>cd ..
(env) C:\Python373>python
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD6
4)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from web3.auto import w3
>>> dir(w3)
['EthereumTesterProvider', 'HTTPProvider', 'IPCProvider', 'Iban', 'RequestManage
r', 'TestRPCProvider', 'WebsocketProvider', '__class__', '__delattr__', '__dict_
_', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__',
'__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__mo
dule__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__seta
ttr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_ens', 'adm
in', 'ens', 'eth', 'fromWei', 'isAddress', 'isChecksumAddress', 'isConnected', '
manager', 'middleware_stack', 'miner', 'net', 'parity', 'personal', 'providers',
 'sha3', 'soliditySha3', 'testing', 'toBytes', 'toChecksumAddress', 'toHex', 'to
Int', 'toText', 'toWei', 'txpool', 'version']
One example with message hashing mechanism :
>>> from web3.auto import w3
>>> from eth_account.messages import defunct_hash_message
>>> msg = "Hello world!"
>>> private_key = b"46474346474346474330313246474346"
>>> b"46474346474346474330313246474346".decode("utf-8", errors="ignore")
'46474346474346474330313246474346'
>>> signed_message = w3.eth.account.signHash(message_hash, private_key=private_
ey)
>>> signed_message
AttrDict({'messageHash': HexBytes('0xaa05af77f274774b8bdc7b61d98bc40da523dc2821f
dea555f4d6aa413199bcc'), 'r': 77081816383569854304871908993806785907809199379052
64818114708355336522791320, 's': 50065392922095131225302404096180206949656260456
560091946111418092912822128476, 'v': 27, 'signature': HexBytes('0x110aad1b6fa3f8
9ef0ceff3579de2a166c6cfefee73bd8b13364d71745f979986eb00219a1d6630a09fb0e7db3b713
51bce570d5842fa39fbae390fdfa7b0f5c1b')}) 

Thursday, May 2, 2019

Python 3.7.3 and Django CMS.

From official www.django-cms.org:
django CMS was originally conceived by web developers frustrated with the technical and security limitations of other systems. Its lightweight core makes it easy to integrate with other software and put to use immediately, while its ease of use makes it the go-to choice for content managers, content editors and website admins.
The django-crm.readthedocs.io/en/latest tells us:
Django-CRM provides a dashboard where you can manage customers at sales of the organization. It Provides to manage leads information and its activity, track issues from leads, contacts to send emails.
...
Modules used:

Python >= 2.6 (or Python 3.4)
Django = 1.9.6
JQuery >= 1.7

Let's start with these commands:
C:\Python373\Scripts>pip install --upgrade virtualenv
Collecting virtualenv
  Downloading https://files.pythonhosted.org/packages/4f/ba/6f9315180501d5ac3e70
7f19fcb1764c26cc6a9a31af05778f7c2383eadb/virtualenv-16.5.0-py2.py3-none-any.whl
(2.0MB)
     |████████████████████████████████| 2.0MB 939kB/s
Installing collected packages: virtualenv
Successfully installed virtualenv-16.5.0

C:\Python373\Scripts>cd ..

C:\Python373>virtualenv env
Using base prefix 'c:\\python373'
New python executable in C:\Python373\env\Scripts\python.exe
Installing setuptools, pip, wheel...
done.

C:\Python373>env\Scripts\activate

(env) C:\Python373>pip install djangocms-installer

(env) C:\Python373>djangocms mysite
...
  Applying djangocms_video.0005_migrate_to_filer... OK
  Applying djangocms_video.0006_field_adaptions... OK
  Applying djangocms_video.0007_create_nested_plugin... OK
  Applying djangocms_video.0008_reset_null_values... OK
  Applying djangocms_video.0009_removed_null_values... OK
  Applying djangocms_video.0010_videoplayer_parameters... OK
  Applying easy_thumbnails.0001_initial... OK
  Applying easy_thumbnails.0002_thumbnaildimensions... OK
  Applying filer.0008_auto_20171117_1313... OK
  Applying filer.0009_auto_20171220_1635... OK
  Applying filer.0010_auto_20180414_2058... OK
  Applying filer.0011_auto_20190418_0137... OK
  Applying menus.0001_initial... OK
  Applying sessions.0001_initial... OK
  Applying sites.0002_alter_domain_unique... OK
Creating admin user
All done!
Get into "C:\Python373\mysite" directory and type "python manage.py runserver" 
to start your project

(env) C:\Python373>cd mysite

(env) C:\Python373\mysite>python manage.py runserver
The result is this:

Tuesday, April 30, 2019

Python 3.7.3 : Fix kivy python module installation.

Kivy is a multi-platform GUI development library for Python, running on Windows, Mac, Linux, Android, and iOS.
Today I tested kivy python module with python version 3.7.3 and I got some errors but I fixed.
I started with the default installation using the pip tool.
C:\Python373>cd Scripts
C:\Python373\Scripts>pip install kivy
...
Installing collected packages: docutils, pygments, Kivy-Garden, kivy
...
Successfully installed kivy-1.10.1
I used a default script to test the kivy python module.
When I tested I got these errors:
[CRITICAL] [Window      ] Unable to find any valuable Window provider.
sdl2 - ImportError: DLL load failed: The specified module could not be found.
  File "C:\Python373\lib\site-packages\kivy\core\__init__.py", line 59, in core_
select_lib
    fromlist=[modulename], level=0)
  File "C:\Python373\lib\site-packages\kivy\core\window\window_sdl2.py", line 26
, in 
    from kivy.core.window._window_sdl2 import _WindowSDL2Storage
...
[CRITICAL] [App         ] Unable to get a Window, abort.
Iinstall the kivy.deps.sdl2:
C:\Python373>cd Scripts
C:\Python373\Scripts>pip install kivy.deps.sdl2
Collecting kivy.deps.sdl2
  Downloading https://files.pythonhosted.org/packages/93/84/a0dc274d993db6f9ebdf
41eb4d55b032de005dbf47e4d54602cf83708b08/kivy.deps.sdl2-0.1.18-cp37-cp37m-win_am
d64.whl (2.5MB)
     |████████████████████████████████| 2.5MB 726kB/s
Installing collected packages: kivy.deps.sdl2
Successfully installed kivy.deps.sdl2-0.1.18
When I tested again, I got another error:
[CRITICAL] [App         ] Unable to get a Window, abort.
I try to see if the install of these python modules are right:
C:\Python373>cd Scripts
C:\Python373\Scripts>pip install pypiwin32
Requirement already satisfied: pypiwin32 in c:\python373\lib\site-packages (223)
Requirement already satisfied: pywin32>=223 in c:\python373\lib\site-packages 
(from pypiwin32) (224)
C:\Python373\Scripts>pip install kivy.deps.glew
Collecting kivy.deps.glew
...
Now the kivy works well:
[INFO   ] [Kivy        ] v1.10.1
[INFO   ] [Python      ] v3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC
v.1916 64 bit (AMD64)]
[INFO   ] [Factory     ] 194 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif
 (img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [Window      ] Provider: sdl2
[INFO   ] [GL          ] Using the "OpenGL" graphics system
[INFO   ] [GL          ] GLEW initialization succeeded
[INFO   ] [GL          ] Backend used 
[INFO   ] [GL          ] OpenGL version 
[INFO   ] [GL          ] OpenGL vendor 
[INFO   ] [GL          ] OpenGL renderer 
[INFO   ] [GL          ] OpenGL parsed version: 4, 6
[INFO   ] [GL          ] Shading version 
[INFO   ] [GL          ] Texture max size <16384>
[INFO   ] [GL          ] Texture max units <32>
[INFO   ] [Window      ] auto add sdl2 input provider
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO   ] [Base        ] Start application main loop
[INFO   ] [GL          ] NPOT texture support is available
[INFO   ] [Base        ] Leaving application in progress...
If you search on web you will se this is a common error and some users use this solution:
python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2
python -m pip install kivy.deps.glew
python -m pip install kivy.deps.gstreamer
Hope this help you with python programming and kivy interface.