SlideShare a Scribd company logo
1 of 39
Download to read offline
SQLALCHEMY CORE
AN INTRODUCTION
/JasonMyers @jasonamyers
Backgroundbymaul555
DIFFERENCES BETWEEN CORE AND ORM
ORM - DOMAIN MODEL
classUser(Base):
__tablename__='users'
id=Column(Integer,primary_key=True)
name=Column(String)
fullname=Column(String)
password=Column(String)
CORE - SCHEMA-CENTRIC MODEL
fromsqlalchemyimportTable,Column,Integer,String,MetaData
metadata=MetaData()
users=Table('users',metadata,
Column('id',Integer,primary_key=True),
Column('name',String),
Column('fullname',String),
)
STRUCTURE
Copyright©2014MochimochiLand
STRUCTURE
INSTALLING
pip installsqlalchemy
pip installflask-sqlalchemy
bin/paster create -tpyramid_alchemytutorial
INITIALIZING
importsqlalchemy
fromsqlalchemyimportcreate_engine
engine=create_engine('sqlite:///:memory:')
DEFINING A TABLE
fromsqlalchemyimportTable,Column,Integer,String,MetaData,ForeignKey
metadata=MetaData()
actors=Table('actors',metadata,
Column('id',Integer,primary_key=True),
Column('name',String),
Column('fullname',String),
Column('body_count',Integer)
)
roles=Table('roles',metadata,
Column('id',Integer,primary_key=True),
Column('actor_id',None,ForeignKey('actors.id')),
Column('character_name',String,nullable=False)
)
CREATE THE TABLES
metadata.create_all(engine)
TABLE OBJECTS
actors.columns.items()
[
('id',Column('id',Integer(),table=actors,primary_key=True...)),
('name',Column('name',String(),table=actors)),
('fullname',Column('fullname',String(),table=actors)),
('body_count',Column('body_count',Integer(),table=actors))
]
OPENING A CONNECTION
conn=engine.connect()
SINGLE INSERT
ins=actors.insert().values(name='Graham',fullname='GrahamChapman',body_count=3)
result=conn.execute(ins)
result.inserted_primary_key
[1]
LOOKING AT WHAT WAS EXECUTED
printstr(ins)
ins.compile().params
INSERTINTOactors(name,fullname,body_count)VALUES(:name,:fullname,:body_count)
{'body_count':3,'fullname':'GrahamChapman','name':'Graham'}
MULTIPLE INSERT
results=conn.execute(roles.insert(),[
{'actor_id':1,'character_name':'KingArthur'},
{'actor_id':1,'character_name':'VoiceofGod'},
{'actor_id':2,'character_name':'SirLancelot'},
{'actor_id':2,'character_name':'BlackKnight'},
{'actor_id':3,'character_name':'Patsy'},
{'actor_id':3,'character_name':'SirBors'},
])
results.rowcount
6
UPDATE
stmt=actors.update().where(actors.c.name=='Graham').values(name='Gram')
result=conn.execute(stmt)
result.rowcount
1
DELETE
result=conn.execute(actors.delete().where(actors.c.name=='Terry'))
result.rowcount
1
SELECTING
s=select([actors.c.name,actors.c.fullname])
result=conn.execute(s)
forrowinresult:
printrow
(u'Graham',u'GrahamChapman')
(u'John',u'JohnCleese')
(u'Terry',u'TerryGilliam')
ORDERING
stmt=select([actors.c.name]).order_by(actors.c.name.desc())
conn.execute(stmt).fetchall()
[(u'Terry',),(u'John',),(u'Graham',)]
LIMITING
stmt=select([actors.c.name,actors.c.fullname]).limit(1).offset(1)
conn.execute(stmt).first()
(u'John',u'JohnCleese')
COUNT
fromsqlalchemy.sqlimportfunc
stmt=select([func.count(actors)])
conn.execute(stmt).scalar()
2
SUM
stmt=select([func.count(actors),func.sum(actors.c.body_count)])
conn.execute(stmt).first()
(2,5)
JOINS
s=select([actors,roles]).where(actors.c.id==roles.c.actor_id)
forrowinconn.execute(s):
printrow
(1,u'Graham',u'GrahamChapman',1,1,u'KingArthur')
(1,u'Graham',u'GrahamChapman',2,1,u'VoiceofGod')
(2,u'John',u'JohnCleese',3,2,u'SirLancelot')
(2,u'John',u'JohnCleese',4,2,u'BlackKnight')
(3,u'Terry',u'TerryGilliam',5,3,u'Patsy')
(3,u'Terry',u'TerryGilliam',6,3,u'SirBors')
GROUPING
stmt=select([actors.c.name,func.count(roles.c.id)]).
select_from(actors.join(roles)).
group_by(actors.c.name)
conn.execute(stmt).fetchall()
[(u'Graham',2),(u'John',2),(u'Terry',2)]
FILTERING
fromsqlalchemy.sqlimportand_,or_,not_
stmt=select([actors.c.name,roles.c.character_name]).
where(
and_(
actors.c.name.like('Gra%'),
roles.c.character_name.like('Vo%'),
actors.c.id==roles.c.actor_id
)
)
conn.execute(stmt).fetchall()
[(u'Graham',u'VoiceofGod')]
AND SO ON...
COMMON DIALECTS
Informix
MS SQL
Oracle
Postgres
SQLite
Custom
BUT WHAT IF...
classUnloadFromSelect(Executable,ClauseElement):
def__init__(self,select,bucket,access_key,secret_key):
self.select=select
self.bucket=bucket
self.access_key=access_key
self.secret_key=secret_key
@compiles(UnloadFromSelect)
defvisit_unload_from_select(element,compiler,**kw):
return"unload('%(query)s')to'%(bucket)s'
credentials'aws_access_key_id=%(access_key)s;
aws_secret_access_key=%(secret_key)s'delimiter','
addquotesallowoverwrite"%{
'query':compiler.process(element.select,
unload_select=True,literal_binds=True),
'bucket':element.bucket,
'access_key':element.access_key,
'secret_key':element.secret_key,
}
EXAMPLE STATEMENT
unload=UnloadFromSelect(
select([fields]),
'/'.join(['s3:/',BUCKET,filename]),
ACCESS_KEY,
SECRET_KEY
)
EXAMPLE USAGE
unload(
'select*fromvenuewherevenueidin(
selectvenueidfromvenueorderbyvenueiddesclimit10)'
)
to's3://mybucket/venue_pipe_'
credentials'aws_access_key_id=ACCESS_KEY;
aws_secret_access_key=SECRET_KEY';
DYNAMIC TABLE INTROSPECTION
defbuild_table(engine,table_name):
returnTable(table_name,metadata,autoload=True,autoload_with=engine)
CHECKING FOR NULL COLUMNS
build_table(engine,'census')
unavailable_fields=[
c.nameforcint.cifisinstance(c.type,NullType)
]
CHAINING
s=select(
[
t.c.race,
t.c.factor,
func.sum(g.t.c.value).label('summed')
],t.c.race>0
).where(
and_(
t.c.type=='POVERTY',
t.c.value!=0
)
).group_by(
t.c.race,
t.c.factor
).order_by(
t.c.race,
t.c.factor)
CONDITIONALS
s=select(
[
table.c.discharge_year,
func.count(1).label(
'patient_discharges'),
table.c.zip_code,
],table.c.discharge_year.in_(years)
).group_by(table.c.discharge_year)
s=s.where(table.c.hospital_name==provider)
if'total_charges'notinunavailable_fields:
s=s.column(
func.sum(table.c.total_charges
).label('patient_charges')
)
s=s.group_by(table.c.zip_code)
s=s.order_by('dischargesDESC')
cases=conn.execute(s).fetchall()
QUESTIONS
THANK YOU
/JasonMyers @jasonamyers

More Related Content

What's hot (20)

Python RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutionsPython RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutions
 
MySQL constraints
MySQL constraintsMySQL constraints
MySQL constraints
 
JDBC
JDBCJDBC
JDBC
 
Michael Bayer Introduction to SQLAlchemy @ Postgres Open
Michael Bayer Introduction to SQLAlchemy @ Postgres OpenMichael Bayer Introduction to SQLAlchemy @ Postgres Open
Michael Bayer Introduction to SQLAlchemy @ Postgres Open
 
Dom
Dom Dom
Dom
 
HTML - Form
HTML - FormHTML - Form
HTML - Form
 
Php sessions & cookies
Php sessions & cookiesPhp sessions & cookies
Php sessions & cookies
 
PHP Cookies and Sessions
PHP Cookies and SessionsPHP Cookies and Sessions
PHP Cookies and Sessions
 
Java Generics
Java GenericsJava Generics
Java Generics
 
MYSQL - PHP Database Connectivity
MYSQL - PHP Database ConnectivityMYSQL - PHP Database Connectivity
MYSQL - PHP Database Connectivity
 
What Is Php
What Is PhpWhat Is Php
What Is Php
 
Spring boot introduction
Spring boot introductionSpring boot introduction
Spring boot introduction
 
MYSQL Aggregate Functions
MYSQL Aggregate FunctionsMYSQL Aggregate Functions
MYSQL Aggregate Functions
 
non-strict functions, bottom and scala by-name parameters
non-strict functions, bottom and scala by-name parametersnon-strict functions, bottom and scala by-name parameters
non-strict functions, bottom and scala by-name parameters
 
Java Collections Framework
Java Collections FrameworkJava Collections Framework
Java Collections Framework
 
MySql: Queries
MySql: QueriesMySql: Queries
MySql: Queries
 
PHP
PHPPHP
PHP
 
JavaScript Programming
JavaScript ProgrammingJavaScript Programming
JavaScript Programming
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
 
Le Wagon - UI components design
Le Wagon - UI components designLe Wagon - UI components design
Le Wagon - UI components design
 

Similar to SQLAlchemy Core: An Introduction

10 Creating Triggers
10 Creating Triggers10 Creating Triggers
10 Creating Triggersrehaniltifat
 
2 designing tables
2 designing tables2 designing tables
2 designing tablesRam Kedem
 
The vJUG talk about jOOQ: Get Back in Control of Your SQL
The vJUG talk about jOOQ: Get Back in Control of Your SQLThe vJUG talk about jOOQ: Get Back in Control of Your SQL
The vJUG talk about jOOQ: Get Back in Control of Your SQLLukas Eder
 
SQL Injection in PHP
SQL Injection in PHPSQL Injection in PHP
SQL Injection in PHPDave Ross
 
파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)성일 한
 
Choose'10: Ralf Laemmel - Dealing Confortably with the Confusion of Tongues
Choose'10: Ralf Laemmel - Dealing Confortably with the Confusion of TonguesChoose'10: Ralf Laemmel - Dealing Confortably with the Confusion of Tongues
Choose'10: Ralf Laemmel - Dealing Confortably with the Confusion of TonguesCHOOSE
 
More than 12 More things about Oracle Database 12c
More than 12 More things about Oracle Database 12cMore than 12 More things about Oracle Database 12c
More than 12 More things about Oracle Database 12cGuatemala User Group
 
2. Create a Java class called EmployeeMain within the same project Pr.docx
 2. Create a Java class called EmployeeMain within the same project Pr.docx 2. Create a Java class called EmployeeMain within the same project Pr.docx
2. Create a Java class called EmployeeMain within the same project Pr.docxajoy21
 
A Brief Introduction in SQL Injection
A Brief Introduction in SQL InjectionA Brief Introduction in SQL Injection
A Brief Introduction in SQL InjectionSina Manavi
 
07 Using Oracle-Supported Package in Application Development
07 Using Oracle-Supported Package in Application Development07 Using Oracle-Supported Package in Application Development
07 Using Oracle-Supported Package in Application Developmentrehaniltifat
 
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaround
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaroundGet Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaround
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaroundDataGeekery
 

Similar to SQLAlchemy Core: An Introduction (20)

plsql les06
 plsql les06 plsql les06
plsql les06
 
plsql les01
 plsql les01 plsql les01
plsql les01
 
Oracle
OracleOracle
Oracle
 
10 Creating Triggers
10 Creating Triggers10 Creating Triggers
10 Creating Triggers
 
2 designing tables
2 designing tables2 designing tables
2 designing tables
 
CakePHP
CakePHPCakePHP
CakePHP
 
Les02
Les02Les02
Les02
 
The vJUG talk about jOOQ: Get Back in Control of Your SQL
The vJUG talk about jOOQ: Get Back in Control of Your SQLThe vJUG talk about jOOQ: Get Back in Control of Your SQL
The vJUG talk about jOOQ: Get Back in Control of Your SQL
 
SQL Injection in PHP
SQL Injection in PHPSQL Injection in PHP
SQL Injection in PHP
 
파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)
 
Choose'10: Ralf Laemmel - Dealing Confortably with the Confusion of Tongues
Choose'10: Ralf Laemmel - Dealing Confortably with the Confusion of TonguesChoose'10: Ralf Laemmel - Dealing Confortably with the Confusion of Tongues
Choose'10: Ralf Laemmel - Dealing Confortably with the Confusion of Tongues
 
More than 12 More things about Oracle Database 12c
More than 12 More things about Oracle Database 12cMore than 12 More things about Oracle Database 12c
More than 12 More things about Oracle Database 12c
 
2. Create a Java class called EmployeeMain within the same project Pr.docx
 2. Create a Java class called EmployeeMain within the same project Pr.docx 2. Create a Java class called EmployeeMain within the same project Pr.docx
2. Create a Java class called EmployeeMain within the same project Pr.docx
 
A Brief Introduction in SQL Injection
A Brief Introduction in SQL InjectionA Brief Introduction in SQL Injection
A Brief Introduction in SQL Injection
 
Oracle examples
Oracle examplesOracle examples
Oracle examples
 
07 Using Oracle-Supported Package in Application Development
07 Using Oracle-Supported Package in Application Development07 Using Oracle-Supported Package in Application Development
07 Using Oracle-Supported Package in Application Development
 
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaround
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaroundGet Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaround
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaround
 
Les02.ppt
Les02.pptLes02.ppt
Les02.ppt
 
Objective-c Runtime
Objective-c RuntimeObjective-c Runtime
Objective-c Runtime
 
Beg sql
Beg sqlBeg sql
Beg sql
 

More from Jason Myers

Python Static Analysis Tools
Python Static Analysis ToolsPython Static Analysis Tools
Python Static Analysis ToolsJason Myers
 
Filling the flask
Filling the flaskFilling the flask
Filling the flaskJason Myers
 
Building CLIs that Click
Building CLIs that ClickBuilding CLIs that Click
Building CLIs that ClickJason Myers
 
Spanning Tree Algorithm
Spanning Tree AlgorithmSpanning Tree Algorithm
Spanning Tree AlgorithmJason Myers
 
Introduction to Pandas
Introduction to PandasIntroduction to Pandas
Introduction to PandasJason Myers
 
Generating Power with Yield
Generating Power with YieldGenerating Power with Yield
Generating Power with YieldJason Myers
 
Diabetes and Me: My Journey So Far
Diabetes and Me: My Journey So FarDiabetes and Me: My Journey So Far
Diabetes and Me: My Journey So FarJason Myers
 
Selenium testing
Selenium testingSelenium testing
Selenium testingJason Myers
 
Coderfaire Data Networking for Developers
Coderfaire Data Networking for DevelopersCoderfaire Data Networking for Developers
Coderfaire Data Networking for DevelopersJason Myers
 

More from Jason Myers (9)

Python Static Analysis Tools
Python Static Analysis ToolsPython Static Analysis Tools
Python Static Analysis Tools
 
Filling the flask
Filling the flaskFilling the flask
Filling the flask
 
Building CLIs that Click
Building CLIs that ClickBuilding CLIs that Click
Building CLIs that Click
 
Spanning Tree Algorithm
Spanning Tree AlgorithmSpanning Tree Algorithm
Spanning Tree Algorithm
 
Introduction to Pandas
Introduction to PandasIntroduction to Pandas
Introduction to Pandas
 
Generating Power with Yield
Generating Power with YieldGenerating Power with Yield
Generating Power with Yield
 
Diabetes and Me: My Journey So Far
Diabetes and Me: My Journey So FarDiabetes and Me: My Journey So Far
Diabetes and Me: My Journey So Far
 
Selenium testing
Selenium testingSelenium testing
Selenium testing
 
Coderfaire Data Networking for Developers
Coderfaire Data Networking for DevelopersCoderfaire Data Networking for Developers
Coderfaire Data Networking for Developers
 

Recently uploaded

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Recently uploaded (20)

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

SQLAlchemy Core: An Introduction