Skip to content

Instantly share code, notes, and snippets.

View piotrkilczuk's full-sized avatar
🐈
I may be slow to respond.

Piotr Kilczuk piotrkilczuk

🐈
I may be slow to respond.
  • Rzeszów, PL
  • 22:53 (UTC -12:00)
View GitHub Profile
@piotrkilczuk
piotrkilczuk / .envrc
Created June 4, 2021 13:02
pythonstartup_envrc
layout poetry
export PYTHONSTARTUP=`pwd`/_pythonstartup.py
export MYOTHERVAR=foobarbaz
@piotrkilczuk
piotrkilczuk / pythonstartup_dynamic_prompt.py
Last active June 4, 2021 12:47
pythonstartup_dynamic_prompt.py
import sys
from datetime import datetime
from os import getcwd
from pathlib import Path
from colorama import Fore
class Ps1:
count: int
@piotrkilczuk
piotrkilczuk / pythonstartup_exec_2.bash
Created June 4, 2021 11:33
pythonstartup_exec_2.bash
$ PYTHONSTARTUP=./_pythonstartup.py ipython
Python 3.9.0 (default, Nov 19 2020, 14:06:03)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.24.1 -- An enhanced Interactive Python. Type '?' for help.
In [1]: session
Out[1]: <sqlalchemy.orm.session.Session at 0x7f1efed0ee50>
In [2]: session.execute("SELECT * FROM users").fetchall()
Out[2]: [(1, 'johndoe', 'somehash')]
@piotrkilczuk
piotrkilczuk / _pythonstartup.py
Created June 4, 2021 10:59
_pythonstartup.py v2
import sys
def boostrap():
print("Hello world!")
sys.__interactivehook__ = boostrap
@piotrkilczuk
piotrkilczuk / pythonstartup_exec_1.bash
Created June 4, 2021 10:39
pythonstartup_exec_1.bash
$ PYTHONSTARTUP=./_pythonstartup.py python
Python 3.9.0 (default, Nov 19 2020, 14:06:03)
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
Hello world!
>>>
@piotrkilczuk
piotrkilczuk / _pythonstartup.py
Last active June 4, 2021 10:40
pythonstartup_simple_script.py
print("Hello world!")
from sqlalchemy import create_engine
from sqlalchemy.orm import Session
engine = create_engine("sqlite:///mydatabase.db")
connection = engine.connect()
transaction = connection.begin()
session = Session(bind=connection)
@piotrkilczuk
piotrkilczuk / factories_call_v4.py
Created May 20, 2021 10:46
factories_call_v4.py
>>> from fbd.championship.factories import PlayerFactory, ClubFactory
>>> club = ClubFactory()
>>> player_with_a_picture = PlayerFactory(club=club, picture__filename='chuck.png')
>>> player_with_a_picture.picture
<ImageFieldFile: player/picture/68/chuck.png>
@piotrkilczuk
piotrkilczuk / factories_v4.py
Last active May 20, 2021 10:54
factories_v4.py
class PlayerFactory(DjangoModelFactory):
# other declarations removed for brevity
@post_generation
def picture(self, create, extracted, **kwargs):
if extracted:
self.picture = extracted
elif kwargs:
assert 'filename' in kwargs, 'You need to pass in the filename'
@piotrkilczuk
piotrkilczuk / factories_call_v3.py
Last active May 20, 2021 11:07
factories_call_v3.py
>>> club = ClubFactory()
>>> players = PlayerFactory.create_batch(10, club=club)
>>> player_male = next(filter(lambda p: p.sex == SEX_MALE, players))
>>> player_female = next(filter(lambda p: p.sex == SEX_FEMALE, players))
>>> player_male.sex, player_male.dob, player_male.government_id
('M', datetime.datetime(1998, 4, 20, 2, 14, 33, tzinfo=<UTC>), 9804200019)
>>> player_female.sex, player_female.dob, player_female.government_id
('F', datetime.datetime(1991, 2, 3, 16, 41, 55, tzinfo=<UTC>), 9102030002)