Skip to main content

BrainCo EDU Serial SDK for educational device integration

Project description

BrainCo Device SDK

PyPI Python

Developer Guide

Cross-Platform Validation

Since the SDK and its core dependencies (such as bc-ble-core) contain target-specific conditional compilations (e.g., Windows WinRT or Android JNI), building on macOS only exercises the macOS code path.

To easily validate that your code changes compile successfully on Windows without leaving your macOS environment, you can run the cross-platform syntax validation script:

sh scripts/check_cross_platform.sh

Under the hood, this script runs:

  • cargo check --target x86_64-pc-windows-msvc -p bc-ble-core

Since the complex, platform-specific Windows conditional-compilation code (WinRT BLE adapters) resides entirely inside the pure Rust bc-ble-core crate, validating it directly is extremely fast and guaranteed to succeed on macOS/Linux without encountering C-dependency cross-compilation compiler errors. This is highly recommended to verify your Windows-specific fixes before pushing to the repository.

Updating Private Dependencies

The SDK depends on the private repository bc-ble-core via SSH. Cargo locks the specific commit hash in Cargo.lock.

1. Local Development Patching

For local iterative development and debugging between the SDK and bc-ble-core, there is a patch configured at the bottom of the workspace Cargo.toml:

[patch."ssh://git@github.com/BrainCoTech/bc-ble-core.git"]
bc-ble-core = { path = "../bc-ble-core" }

When this patch is active, Cargo will automatically compile and check against your local, uncommitted changes in ../bc-ble-core whenever you compile or check this repository.

2. Syncing Remote Updates

When changes in bc-ble-core are pushed to the remote branch (e.g., main), your local environment and the CI will NOT automatically pull the latest commit due to lockfile pinning.

To force Cargo to pull the latest remote changes of bc-ble-core, run:

cargo update -p bc-ble-core

Then, commit and push the updated Cargo.lock to trigger the CI with the correct dependency commit.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

bc_edu_sdk-0.3.0-cp310-abi3-macosx_11_0_arm64.whl (663.7 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

Details for the file bc_edu_sdk-0.3.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: bc_edu_sdk-0.3.0-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 663.7 kB
  • Tags: CPython 3.10+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for bc_edu_sdk-0.3.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5071a15b0bd3911e9e8841a8dec0d24322da684450f73a665e3de66711142a1e
MD5 8f6bd3ddab26f60d972e76a5f0347226
BLAKE2b-256 fc3475c1d1858a3d0f42b9c66daf652c755ff88bc3504a22206d1a03b6a4bf6a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page