Skip to main content

Python Client for Suprema GSDK

This is the pip distributable version of the Suprema GSDK Python client, which makes it easier to interact with the GSDK.

The examples from the Suprema GSDK Wiki can be used, but with this package, all dependencies are handled via PIP. The EventCode .json file and device list are also initialized automatically when importing package.

Tips

On some clients (Particularly android) the EventCode json can sometimes not be loaded. If this happens, an error will display. You can then call

JsonFileLocation = "C:\\biostarPython\\event_code.json"
biostarPython.initCodeMap(JsonFileLocation)

To check Event codes, call

biostarPython.getEventString(eventCode,subCode)

To check device type, call

biostarPython.deviceType[deviceCode]

I'd also recommend checking out Advanced Installer! They allow free licences for open-source projects and the features of the program licences are well worth it!

How to use the rest of the classes.

All classes that can be used are imported under the biostarPython package. The ones currently written are:
GatewayClient, ConnectSvc, DeviceSvc, FaceSvc, FingerSvc, StatusSvc, UserSvc, DisplaySvc, AdminSvc, WiegandSvc, TimeSvc, CardSvc, EventSvc, NetworkSvc, ServerSvc, SystemSvc, DoorSvc, RS485Svc, AuthSvc, AccessSvc, ScheduleSvc, ActionSvc, TNASvc, OperatorSvc, LockZoneSvc, TimedAPBZoneSvc, APBZoneSvc, IntrusionZoneSvc, FireZoneSvc, InterlockZoneSvc, UDPSvc, DeviceLicenseSvc, MasterAdminSvc & TestSvc

With the remaining being added in a future release. I think im up to date!

With all of these services, they are a callable class underneath the biostarPython package. An example of initial setup with the GatewayClient and ConnectSvc is below: For all of the functions below these services, they are formated with the first letter in lowercase, so to search a device would be searchDevice(), to get info would be getInfo().
The guides on how to use these are present at the the GSDK Homepage

# import the service duh!
import biostarPython as g
# connect to the gateway, get a channel, then funnel this through to the 
# services!
gateway = g.GatewayClient('127.0.0.1',4000,'ca.crt')
channel = gateway.getChannel()
connect = g.ConnectSvc(channel)
face = g.FaceSvc(channel)
network = g.NetworkSvc(channel)
# will return a list of devices visible on UDP
deviceInfo = connect.searchDevice(300) 
# needs IP address, port and SSL state
bs3 = connect.connect(connect.getConnInfo('192.168.0.50', 51211, False))
# 4 is the default scan threshold
face.scan(bs3,4)
#lets get and change an IP Config
existingConfig = network.getIPConfig(bs3)
existingConfig.useDHCP = False
existingConfig.IPAddress = '192.168.0.20'
network.setIPConfig(bs3, existingConfig)

All of the specific APIs can be found at the wiki Above.

changelog

  • 0.6.5.0 - Updated proto files to 1.9.1 distribution of GSDK, added support for BioStation 3 Max, updated GRPC and Protobuf to latest.
  • 0.6.0.0 - Updated proto files to 1.9.0 distribution of GSDK, added MasterAdminSvc, DeviceLicenseSvc, Support for multiple devices, Run Action, Lock Override, Door Mode Override, Realtime IO and User Override.
  • 0.4.0.2 - Updated proto files to 1.7.1 distribution of GSDK (Template only selection for FaceData and FaceConfig)
  • 0.4.0.1 - Added UpdateSlideImages to DisplaySvc and added Fingerprint to TestSvc.
  • 0.4.0.0 - Updated proto files to 1.7.0 (New Features, BEW3 support), added TestSvc (Waiting on support from device), fixed factoryDefault parameters.
  • 0.3.0.5 - Added UDPSvc for changing IP config via UDP, Updated Proto generation to 1.6.0 version of GSDK.
  • 0.3.0.2 - Fixed no response recieved from some user commands, also added newEventFilter() under event service, to create a new Filter.
  • 0.3.0.0 - Support for BS3, VOIP, RTSP and Wiegand User ID
  • 0.2.1.4 - Version Push
  • 0.2.1.2 - Fixed issue with importing none existent package
  • 0.2.1.0 - Addes getJobCode, setJobCode, setJobCodeMulti and setAccessGroupMulti to the UserSvc
  • 0.2.0.1 - Added searchInfoToConnectInfo(self, searchInfo, isAsync) under ConnectSvc, allowing generation of Connection Parameters directly from search results
  • 0.2.0.0 - Upgraded support for gRPC to the newest version supported by python (Regenerated .py files from .proto)
  • 0.1.9.0 - Added zone services, LockZone, APBZone, TimedAPBZone, FireZone, InterlockZone and IntrusionZone are included. Also edited protobuf version to include security fixes (3.20.1)
  • 0.1.8.8 - Fixed minor issue with finger.scan (Did not return data)
  • 0.1.8.6 - Fixed minor issues
  • 0.1.8 - Implemented version check for Protobuf (3.20)
  • 0.1.7 - Implemented proper logging, a GSDKlog.log file is now used instead of the standard print command.
  • 0.1.6 - Added firmwareUpdateMulti to DeviceSvc (Needed for multiple device upgrade internally)
  • 0.1.5 - Added OperatorSvc call so operators above 10 can be added. Supports getList, add, delete, deleteAll, addMulti, deleteMulti and deleteAllMulti
  • 0.1.4 - Added getFinger, getFace and getCard to UserSvc. Added getQRConfig, setQRConfig and writeQR to CardSvc()
  • 0.1.3 - Added AuthSvc, AccessSvc, ScheduleSvc, ActionSvc and TNASvc. Under UserSvc, added newUser, newUserCard, newUserFinger and newUserFace for ease of calling when enrolling new user info.
  • 0.1.2 - Updated initial json file string, so import on linux works
  • 0.1.1 - Added Readme
  • 0.1.0 - Initial Commit

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

biostarpython-0.6.5.0.tar.gz (168.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

biostarpython-0.6.5.0-py2.py3-none-any.whl (271.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file biostarpython-0.6.5.0.tar.gz.

File metadata

  • Download URL: biostarpython-0.6.5.0.tar.gz
  • Upload date:
  • Size: 168.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for biostarpython-0.6.5.0.tar.gz
Algorithm Hash digest
SHA256 c3306560641e796824309a08745054bc687dbdbb39184dcd9d491b4df9183967
MD5 d7f618fd90bdab5e3cf2739d330e141d
BLAKE2b-256 1de6c5622ea8b33eab5a279802d011b679c1ed347516bc983c403213fce40301

See more details on using hashes here.

File details

Details for the file biostarpython-0.6.5.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for biostarpython-0.6.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 64a0cc2155cbc4dea68b426454bf23274260193b72c5d54451548dd4a367c3f4
MD5 74689392b1ed50a039f3cbc048caa647
BLAKE2b-256 23a8ffe817c2e124f483933c9f147007b7112d6b1c76227dc9481ef5277c8a01

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.6.5.0 This release

2 files

0.6.0.0

2 files

0.4.0.2

2 files

0.4.0.1

2 files

0.4.0.0

2 files

0.3.0.5

2 files

0.3.0.2

2 files

0.3.0.1

2 files

0.3.0.0

2 files

0.2.1.4

2 files

0.2.1.3

2 files

0.2.1.2

2 files

0.2.1.1

2 files

0.2.1.0

2 files

0.2.0.1

2 files

0.2.0.0

2 files

0.1.9.0

2 files

0.1.8.8

2 files

0.1.8.7

2 files

0.1.8.6

2 files

0.1.8.5

2 files

0.1.8.4

2 files

0.1.8.3

2 files

0.1.8.2

2 files

0.1.8.1

3 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

3 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page