{ "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": [ " 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=, primary_key=True, nullable=False),\n", " Column('name', String(), table=),\n", " Column('color', String(), table=),\n", " Column('id', Integer(), table=, primary_key=True, nullable=False),\n", " Column('name', String(), ForeignKey('vegetable.name'), table=),\n", " Column('radius', Integer(), table=),\n", " Column('id', Integer(), table=, primary_key=True, nullable=False),\n", " Column('name', String(), ForeignKey('tomato.name'), table=),\n", " Column('state', String(), table=),\n", " Column('age', Integer(), table=)]" ] }, "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": [ "" ] }, "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 }