Skip to content

Instantly share code, notes, and snippets.

@kashifpk
kashifpk / pydantic-dynamic-mode.py
Created February 18, 2024 09:15
Dynamic model creation using pydantic
from pydantic import create_model
fields = [
{'field_name': 'name', 'field_type': str, 'default': ''},
{'field_name': 'age', 'field_type': int, 'default': 100}
]
MyModel = create_model(
'MyModel',
**{field['field_name']: (field['field_type'], field['default']) for field in fields}
@kashifpk
kashifpk / chipstack_grpc_example.py
Created July 7, 2023 19:02
Sample Chirpstack GRPC communication
import grpc
from grpc import Channel
from uuid import UUID
from chirpstack_api import api, common
from chirpstack_pydantic.models.common.common_p2p import Region
from chirpstack_pydantic.models.api.deviceProfile_p2p import ListDeviceProfilesResponse
from chirpstack_pydantic import protobuf_to_pydantic
CHIRPSTACK_API_TOKEN = 'fill-api-access-token'

Keybase proof

I hereby claim:

  • I am kashifpk on github.
  • I am kashifpk (https://keybase.io/kashifpk) on keybase.
  • I have a public key ASBfDGjAZ1YkyIyq6fB1U6dBBiLc2k6rxMzoO9AiI6a7kAo

To claim this, I am signing this object:

from requests import Request, Session
req = Request('GET', 'http://[::1]')
s = Session()
prep = req.prepare()
prep.prepare_headers({'host': '::1'})
resp = s.send(prep)
print(resp.status_code)
print(resp.text)
@kashifpk
kashifpk / gist:11b144599709ed51eed6
Created April 9, 2015 21:31
autobahn slideshow
#!/usr/bin/env python
"""
Threaded pygame based image slideshow
"""
import argparse
# import os
# import stat
import sys
import time
@kashifpk
kashifpk / gist:97a406257fa61e560fb8
Created April 9, 2015 21:18
autobahn access from outside of class
from autobahn.twisted.wamp import ApplicationSession, ApplicationRunner
from twisted.internet.defer import inlineCallbacks
from autobahn.twisted.util import sleep
class MyComponent(ApplicationSession):
@inlineCallbacks
def onJoin(self, details):
print("session joined")
[app]
# (str) Title of your application
title = My Application
# (str) Package name
package.name = myapp
# (str) Package domain (needed for android/ios packaging)
package.domain = org.test
@kashifpk
kashifpk / gist:3cfce1c88288c70c8637
Created October 30, 2014 18:49
Kivy Window.on_rotate issue
# -*- coding: utf-8 -*-
import kivy
kivy.require('1.8.0')
from kivy.app import App
from kivy.core.window import Window
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout