205 lines
4.8 KiB
Plaintext
205 lines
4.8 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "6f6fbc7e-4fb9-4353-b2ee-9ea819a3c896",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"/home/smgr/.pyenv/versions/co4/lib/python3.12/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
|
|
" from .autonotebook import tqdm as notebook_tqdm\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"import vegetables"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "88fd0ea8-9c94-4569-a51b-823a04f32f55",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"{'age': 3}"
|
|
]
|
|
},
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"tomato = vegetables.Tomato('t1', 5)\n",
|
|
"\n",
|
|
"# test a register collation action\n",
|
|
"tomato.collate('ripe')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "348926d9-7137-4eff-a919-508788553dd2",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"['afff61ec-e0b0-44bb-9f0d-06008a82f6a5',\n",
|
|
" '5edfa13c-0eb1-4bbc-b55e-1550ff7df3d2',\n",
|
|
" '4568a2d4-eb41-4b15-9a29-e3e22906c661']"
|
|
]
|
|
},
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"vegetables.vegetable_mapper.collect(tomato, ['ripe'])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "4e5e7319-11bf-4051-951b-08c84e9f3874",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<Component (SQLTable)> vegetable+tomato+tomato_aging_states+tomato_cooking_states"
|
|
]
|
|
},
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"vegetables.vegetable_mapper.compose(tomato, action_groups=['aging', 'cooking'])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"id": "aa290686-8074-4038-a3cc-ce6817844653",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[Column('id', Integer(), table=<vegetable>, primary_key=True, nullable=False),\n",
|
|
" Column('name', String(), table=<vegetable>),\n",
|
|
" Column('color', String(), table=<vegetable>),\n",
|
|
" Column('id', Integer(), table=<tomato>, primary_key=True, nullable=False),\n",
|
|
" Column('name', String(), ForeignKey('vegetable.name'), table=<tomato>),\n",
|
|
" Column('radius', Integer(), table=<tomato>),\n",
|
|
" Column('id', Integer(), table=<tomato_aging_states>, primary_key=True, nullable=False),\n",
|
|
" Column('name', String(), ForeignKey('tomato.name'), table=<tomato_aging_states>),\n",
|
|
" Column('state', String(), table=<tomato_aging_states>),\n",
|
|
" Column('age', Integer(), table=<tomato_aging_states>)]"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"list(vegetables.vegetable_mapper.compose(tomato, action_groups=['aging']).obj.columns)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"id": "f3c7e37d-ba9e-4bae-ae44-adc922bf5f4c",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"(vegetables.Tomato, vegetables.Vegetable, co3.co3.CO3, object)"
|
|
]
|
|
},
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"tomato.__class__.__mro__"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"id": "c21d2c54-39e2-4de3-93bc-763896ed348e",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from co3.databases import SQLDatabase\n",
|
|
"\n",
|
|
"db = SQLDatabase('sqlite://', echo=True)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"id": "a785d202-99d3-4ae7-859e-ee22b481f8df",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<contextlib._GeneratorContextManager at 0x7dd5c619be60>"
|
|
]
|
|
},
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"db.recreate(vegetable_schema) "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "cda01cb0-1666-4cb1-aa64-bcdca871aff5",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "co3",
|
|
"language": "python",
|
|
"name": "co3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.12.2"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|