diff --git a/.github/workflows/constraints.txt b/.github/workflows/constraints.txt index 52415d85b..4dfd4edc8 100644 --- a/.github/workflows/constraints.txt +++ b/.github/workflows/constraints.txt @@ -1,8 +1,8 @@ -griffe==1.2.0 +griffe==1.3.1 pip==24.2 poetry==1.8.3 poetry-plugin-export==1.8.0 -poetry-dynamic-versioning==1.4.0 +poetry-dynamic-versioning==1.4.1 pre-commit==3.8.0 nox==2024.4.15 nox-poetry==1.0.3 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index cf0602a29..1613ebc5e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -90,6 +90,12 @@ jobs: pipx inject nox nox-poetry nox --version + - uses: actions/cache@v4 + if: matrix.session == 'tests' + with: + path: http_cache.sqlite + key: http_cache-${{ runner.os }}-${{ matrix.python-version }}-${{ matrix.sqlalchemy }} + - name: Run Nox env: SQLALCHEMY_VERSION: ${{ matrix.sqlalchemy }} @@ -100,7 +106,7 @@ jobs: if: always() && (matrix.session == 'tests') with: include-hidden-files: true - name: coverage-data-nox_${{ matrix.session }}-${{ matrix.os }}-py${{ matrix.python-version }}_sqlalchemy_${{ matrix.sqlalchemy }} + name: coverage-data-nox_-${{ matrix.os }}-py${{ matrix.python-version }}_sqlalchemy_${{ matrix.sqlalchemy }} path: ".coverage.*" tests-external: diff --git a/.gitignore b/.gitignore index d6a92f65e..e10d0f06a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +# HTTP cache +http_cache.sqlite + # Local Poetry configuration file poetry.toml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 22a0b74c7..67348c734 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -50,7 +50,7 @@ repos: - id: check-readthedocs - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.6.4 + rev: v0.6.5 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix, --show-fixes] diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/meltano.yml b/cookiecutter/target-template/{{cookiecutter.target_id}}/meltano.yml index dab8bf213..dc1a71bc5 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/meltano.yml +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/meltano.yml @@ -21,7 +21,7 @@ plugins: capabilities: - about - stream-maps - - record-flattening + - schema-flattening # TODO: Declare settings and their types here: settings: diff --git a/docs/capabilities.rst b/docs/capabilities.rst index de3565777..b71df4c67 100644 --- a/docs/capabilities.rst +++ b/docs/capabilities.rst @@ -14,6 +14,7 @@ The following capabilities are supported by default. .. autoattribute:: PluginCapabilities.ABOUT .. autoattribute:: PluginCapabilities.BATCH .. autoattribute:: PluginCapabilities.STREAM_MAPS +.. autoattribute:: PluginCapabilities.FLATTENING ======================== Custom base capabilities @@ -60,5 +61,4 @@ The following capabilities have to be implemented in the target. .. autoattribute:: TargetCapabilities.SOFT_DELETE .. autoattribute:: TargetCapabilities.HARD_DELETE .. autoattribute:: TargetCapabilities.DATATYPE_FAILSAFE -.. autoattribute:: TargetCapabilities.RECORD_FLATTENING .. autoattribute:: TargetCapabilities.TARGET_SCHEMA diff --git a/docs/stream_maps.md b/docs/stream_maps.md index 94d9ac72a..e31a9b634 100644 --- a/docs/stream_maps.md +++ b/docs/stream_maps.md @@ -249,11 +249,9 @@ can be referenced directly by mapping expressions. - `fake` - a [`Faker`](inv:faker:std:doc#index) instance, configurable via `faker_config` (see previous example) - see the built-in [standard providers](inv:faker:std:doc#providers) for available methods -- `Faker` - the [`Faker`](inv:faker:std:doc#fakerclass) class. This was made available to enable consistent data - masking by allowing users to call `Faker.seed()`. ```{tip} - The `fake` object and `Faker` are only available if the plugin specifies `faker` as an additional dependency (through the `singer-sdk` `faker` extra, or directly). + The `fake` object is only available if the plugin specifies `faker` as an additional dependency (through the `singer-sdk` `faker` extra, or directly). ``` :::{versionadded} 0.35.0 @@ -264,6 +262,10 @@ The `faker` object. The `Faker` class. ::: +:::{versionchanged} TODO +The `Faker` class was deprecated in favor of instance methods on the `fake` object. +::: + #### Automatic Schema Detection For performance reasons, type detection is performed at runtime using text analysis @@ -475,9 +477,9 @@ To generate consistent masked values, you must provide the **same seed each time stream_maps: customers: # will always generate the same value for the same seed - first_name: Faker.seed(_['first_name']) or fake.first_name() + first_name: fake.seed_instance(_['first_name']) or fake.first_name() faker_config: - # IMPORTANT: `fake` and `Faker` names are only available if faker_config is defined. + # IMPORTANT: `fake` is only available if the `faker` extra is installed locale: en_US ``` diff --git a/fixtures/csv/customers.csv b/fixtures/csv/customers.csv new file mode 100644 index 000000000..6de28da5d --- /dev/null +++ b/fixtures/csv/customers.csv @@ -0,0 +1,1001 @@ +id,first_name,last_name,email,ip_address +1,Ethe,Book,ebook0@twitter.com,67.61.243.220 +2,Myranda,Tire,mtire1@vkontakte.ru,151.194.73.229 +3,Remus,Dorian,rdorian2@twitpic.com,204.220.73.121 +4,Stesha,Suddock,ssuddock3@ycombinator.com,113.182.132.211 +5,Serge,Daws,sdaws4@usgs.gov,111.173.74.111 +6,Ettie,Maddison,emaddison5@fastcompany.com,35.1.210.212 +7,Giffy,Biernat,gbiernat6@fastcompany.com,52.23.72.93 +8,Vitoria,Ommundsen,vommundsen7@narod.ru,94.239.171.99 +9,Mirella,Wisden,mwisden8@homestead.com,104.209.4.89 +10,Ami,Santus,asantus9@archive.org,235.3.35.99 +11,Otto,Hursthouse,ohursthousea@wordpress.com,84.230.160.212 +12,Sherrie,Pelos,spelosb@ucsd.edu,115.16.84.201 +13,Doreen,Loyndon,dloyndonc@columbia.edu,154.58.216.20 +14,Raddy,Maber,rmaberd@ihg.com,179.253.223.80 +15,Coralie,Pechan,cpechane@netlog.com,83.224.237.7 +16,Ira,Allmann,iallmannf@ucoz.com,209.175.60.153 +17,Silvester,Siseland,ssiselandg@smh.com.au,5.12.55.221 +18,Raviv,Dwane,rdwaneh@amazon.co.jp,178.115.168.254 +19,Rianon,Wansbury,rwansburyi@marketwatch.com,250.153.130.70 +20,Zacharie,Vardey,zvardeyj@wufoo.com,91.69.105.86 +21,Ofelia,Meriet,omerietk@domainmarket.com,118.193.26.70 +22,Minta,Du Fray,mdufrayl@cmu.edu,224.152.143.125 +23,Baillie,McDougal,bmcdougalm@dagondesign.com,118.36.198.87 +24,Dunstan,Schimpke,dschimpken@nih.gov,39.137.225.135 +25,Ab,Dackombe,adackombeo@un.org,163.98.82.166 +26,Cyrillus,Lakin,clakinp@indiegogo.com,154.155.120.48 +27,Jori,Gully,jgullyq@flickr.com,186.239.179.225 +28,Brod,Besse,bbesser@taobao.com,62.50.230.144 +29,Edie,Corderoy,ecorderoys@nationalgeographic.com,57.217.190.44 +30,Zach,Babbs,zbabbst@squidoo.com,84.65.12.93 +31,Burnaby,Claridge,bclaridgeu@mapy.cz,139.27.7.79 +32,Cam,Kieff,ckieffv@skyrock.com,135.73.189.82 +33,Cathi,Rolstone,crolstonew@biglobe.ne.jp,251.171.34.73 +34,Henrieta,Beastall,hbeastallx@state.gov,116.208.99.100 +35,Martie,Noble,mnobley@europa.eu,51.9.91.187 +36,Mildred,Durtnal,mdurtnalz@psu.edu,39.190.64.147 +37,Adrea,Nazer,anazer10@google.com,13.20.52.92 +38,Baxy,Beardsworth,bbeardsworth11@sfgate.com,110.83.233.13 +39,Rabbi,Brownsett,rbrownsett12@arstechnica.com,73.49.174.230 +40,Isiahi,Muino,imuino13@constantcontact.com,141.134.130.104 +41,Woodrow,Freeborn,wfreeborn14@usgs.gov,95.44.56.52 +42,Roseanne,Rankcom,rrankcom15@cnbc.com,71.254.39.163 +43,Desmond,Aynold,daynold16@zdnet.com,2.133.82.174 +44,Christel,Landre,clandre17@auda.org.au,186.14.74.159 +45,Kari,McKeurtan,kmckeurtan18@reference.com,163.110.86.97 +46,Bartholemy,Bulward,bbulward19@utexas.edu,175.44.136.142 +47,Evelyn,Walesa,ewalesa1a@hhs.gov,103.98.34.217 +48,Leroi,Rapier,lrapier1b@blogspot.com,179.247.125.22 +49,Floyd,Blease,fblease1c@canalblog.com,89.55.211.210 +50,Ondrea,Rotherham,orotherham1d@linkedin.com,143.80.13.255 +51,Arluene,Barfoot,abarfoot1e@clickbank.net,115.217.54.28 +52,Giulietta,Oaks,goaks1f@army.mil,4.250.68.73 +53,Jacquelynn,Rain,jrain1g@google.es,150.114.39.236 +54,Emlyn,Bawle,ebawle1h@timesonline.co.uk,46.180.27.230 +55,Shandy,Mandy,smandy1i@europa.eu,53.157.154.153 +56,Goldina,Gush,ggush1j@disqus.com,213.215.73.23 +57,Bryan,Moat,bmoat1k@mapy.cz,55.236.218.220 +58,Douglas,Bannerman,dbannerman1l@princeton.edu,237.32.119.149 +59,Adolphe,Hug,ahug1m@google.com,224.235.209.252 +60,Melessa,Pitkin,mpitkin1n@upenn.edu,100.165.210.253 +61,Michell,Swalwell,mswalwell1o@ucoz.ru,155.123.84.35 +62,Leona,Brodway,lbrodway1p@friendfeed.com,198.230.211.36 +63,Spence,Willas,swillas1q@tmall.com,174.104.61.20 +64,Griselda,Heavy,gheavy1r@instagram.com,1.135.2.166 +65,Lovell,Offill,loffill1s@e-recht24.de,234.143.13.61 +66,Clare,Lomaz,clomaz1t@google.co.jp,50.141.52.216 +67,Price,Milmo,pmilmo1u@sohu.com,59.186.62.238 +68,Neddie,Mcasparan,nmcasparan1v@scribd.com,254.141.50.152 +69,Barron,Maffin,bmaffin1w@theguardian.com,25.151.2.46 +70,Marve,Newcome,mnewcome1x@accuweather.com,212.96.253.98 +71,Beltran,Errichiello,berrichiello1y@unblog.fr,1.206.223.9 +72,Janine,Scotts,jscotts1z@pcworld.com,141.132.42.151 +73,Laurie,Pritchard,lpritchard20@squarespace.com,147.185.204.160 +74,Celestina,Crockley,ccrockley21@disqus.com,8.222.246.118 +75,Verla,Darrell,vdarrell22@quantcast.com,23.203.205.28 +76,Rupert,Collicott,rcollicott23@yale.edu,185.73.121.164 +77,Lonni,Brandino,lbrandino24@noaa.gov,116.86.14.240 +78,Sydelle,Soles,ssoles25@goo.gl,189.220.248.29 +79,Fergus,Matyukon,fmatyukon26@fc2.com,190.205.190.125 +80,Henderson,Conry,hconry27@newsvine.com,254.103.39.6 +81,Bernardine,Matteuzzi,bmatteuzzi28@cdbaby.com,49.177.58.201 +82,Kalina,Kitching,kkitching29@hatena.ne.jp,145.116.81.53 +83,Agnola,Coller,acoller2a@apache.org,205.173.237.76 +84,Pattin,Leinster,pleinster2b@shareasale.com,200.148.58.63 +85,Lorrie,Summerson,lsummerson2c@pen.io,224.222.232.187 +86,Normand,Ducker,nducker2d@earthlink.net,233.180.61.254 +87,Kristyn,Hillam,khillam2e@clickbank.net,100.239.61.160 +88,Kriste,Chatters,kchatters2f@lycos.com,9.119.212.73 +89,Mikael,Bastide,mbastide2g@tripod.com,227.59.45.166 +90,Consuelo,Renner,crenner2h@shop-pro.jp,194.219.125.57 +91,Cassondra,Matussevich,cmatussevich2i@google.com.br,31.213.26.253 +92,Harlin,Gissing,hgissing2j@ihg.com,56.231.244.201 +93,Rick,Deekes,rdeekes2k@sogou.com,81.199.104.110 +94,Cullen,Vidineev,cvidineev2l@ameblo.jp,197.23.66.210 +95,Fancie,Litt,flitt2m@admin.ch,138.60.214.187 +96,Gayler,Bernardi,gbernardi2n@goodreads.com,195.127.1.29 +97,Chan,Edscer,cedscer2o@arizona.edu,5.134.182.165 +98,Isa,Broun,ibroun2p@bbb.org,176.47.202.207 +99,Liuka,Aberdein,laberdein2q@reddit.com,159.104.205.207 +100,Marcelo,Daintry,mdaintry2r@4shared.com,17.232.250.180 +101,Katina,Mehmet,kmehmet2s@diigo.com,104.208.9.151 +102,Hank,Southernwood,hsouthernwood2t@nature.com,199.156.116.77 +103,Filmore,Fulmen,ffulmen2u@springer.com,155.213.68.172 +104,Cal,Mayes,cmayes2v@nature.com,116.148.235.40 +105,Francois,Brozsset,fbrozsset2w@multiply.com,141.171.53.209 +106,Monty,Mayou,mmayou2x@tamu.edu,110.182.213.71 +107,Miquela,Brine,mbrine2y@skype.com,143.50.240.107 +108,Kahlil,Nursey,knursey2z@china.com.cn,65.226.155.158 +109,Glendon,Soutar,gsoutar30@dmoz.org,176.164.229.115 +110,Idalia,Gutowski,igutowski31@livejournal.com,70.12.7.137 +111,Lee,Howkins,lhowkins32@economist.com,73.75.176.65 +112,Gwyneth,Jiggle,gjiggle33@blog.com,225.131.13.14 +113,Sheffie,Munby,smunby34@bluehost.com,150.143.194.197 +114,Mahala,Arnauduc,marnauduc35@symantec.com,20.92.174.130 +115,Angelica,Merrick,amerrick36@reference.com,56.39.40.33 +116,Halsy,Carpe,hcarpe37@vk.com,4.80.117.170 +117,Arch,Espinel,aespinel38@hibu.com,168.14.58.76 +118,Kelcie,Quig,kquig39@123-reg.co.uk,90.91.100.136 +119,Geoffrey,Dorant,gdorant3a@newyorker.com,124.49.113.92 +120,Pollyanna,Swetenham,pswetenham3b@yale.edu,13.141.62.94 +121,Liam,Tiltman,ltiltman3c@stumbleupon.com,84.134.143.214 +122,Tory,Craven,tcraven3d@fotki.com,51.46.141.71 +123,Dene,MacKessock,dmackessock3e@360.cn,184.180.226.89 +124,Hogan,Nezey,hnezey3f@indiatimes.com,244.25.250.175 +125,Deina,Scotfurth,dscotfurth3g@salon.com,51.20.213.72 +126,Jessie,Cardoo,jcardoo3h@fotki.com,140.171.175.173 +127,Kala,Fallows,kfallows3i@sogou.com,4.52.196.103 +128,Berenice,Marie,bmarie3j@ucsd.edu,79.76.8.157 +129,Dirk,Donaghy,ddonaghy3k@wired.com,179.200.212.84 +130,Lucia,Boshier,lboshier3l@gravatar.com,221.227.100.251 +131,Hatty,Elwin,helwin3m@netvibes.com,128.37.135.27 +132,Bonnie,Petyt,bpetyt3n@jugem.jp,21.61.201.112 +133,Phillipe,Martyntsev,pmartyntsev3o@netvibes.com,183.24.176.139 +134,Powell,Enrique,penrique3p@loc.gov,252.38.153.48 +135,Rey,Southward,rsouthward3q@dion.ne.jp,162.192.135.104 +136,Aluin,Brew,abrew3r@flavors.me,220.50.126.30 +137,Arielle,Aspin,aaspin3s@about.me,174.175.140.183 +138,Irene,Hackin,ihackin3t@oakley.com,71.111.61.36 +139,Abba,Fley,afley3u@etsy.com,147.156.189.24 +140,Lola,Cluatt,lcluatt3v@addthis.com,243.238.95.192 +141,Sallee,Laflin,slaflin3w@meetup.com,144.167.83.204 +142,Noami,Fergusson,nfergusson3x@ox.ac.uk,95.254.111.247 +143,Craig,Kolakowski,ckolakowski3y@goodreads.com,136.90.91.227 +144,Axel,Gianneschi,agianneschi3z@guardian.co.uk,64.32.17.203 +145,Ennis,Runge,erunge40@bluehost.com,68.54.122.19 +146,Tanney,Preshaw,tpreshaw41@simplemachines.org,211.64.133.182 +147,Shirley,Humbee,shumbee42@histats.com,150.61.218.72 +148,Claire,Casperri,ccasperri43@disqus.com,190.105.217.249 +149,Alvinia,Quibell,aquibell44@latimes.com,211.175.91.74 +150,Cristine,Larmet,clarmet45@prweb.com,219.213.234.203 +151,Fransisco,Snazle,fsnazle46@ed.gov,132.154.64.233 +152,Malchy,By,mby47@unesco.org,39.132.111.147 +153,Jeniffer,Leiden,jleiden48@usa.gov,167.209.132.123 +154,Laraine,Glasard,lglasard49@opensource.org,108.104.117.93 +155,Sandie,Woollam,swoollam4a@pinterest.com,165.125.58.90 +156,Ossie,Carle,ocarle4b@aboutads.info,252.93.125.66 +157,Ahmed,Lloyd-Williams,alloydwilliams4c@cnn.com,142.92.98.91 +158,Fifi,Pescod,fpescod4d@ftc.gov,184.222.148.241 +159,Hunfredo,Coton,hcoton4e@barnesandnoble.com,133.131.166.250 +160,Benjamen,Tort,btort4f@indiegogo.com,185.198.145.238 +161,Odelia,Grindall,ogrindall4g@creativecommons.org,133.188.232.235 +162,Ermanno,Danson,edanson4h@cbc.ca,13.43.126.215 +163,Netti,Wolters,nwolters4i@feedburner.com,229.127.153.246 +164,Krissy,Upham,kupham4j@privacy.gov.au,45.158.194.218 +165,Andra,Wyard,awyard4k@hugedomains.com,241.13.177.238 +166,Ennis,Peterson,epeterson4l@google.co.uk,42.112.253.18 +167,Michael,Jotham,mjotham4m@gov.uk,235.189.5.120 +168,Ruby,Shenton,rshenton4n@mozilla.com,169.205.79.220 +169,Eugenie,Tidd,etidd4o@dion.ne.jp,134.53.25.174 +170,Cammie,Belsher,cbelsher4p@scientificamerican.com,185.138.254.30 +171,Almire,Mabbett,amabbett4q@arizona.edu,23.166.132.13 +172,Karlie,De Carteret,kdecarteret4r@economist.com,76.53.116.99 +173,Stafford,Uphill,suphill4s@bbc.co.uk,141.105.29.43 +174,Omero,Copins,ocopins4t@altervista.org,223.73.36.52 +175,Tye,Beeston,tbeeston4u@lulu.com,16.38.192.124 +176,Kayla,Truelock,ktruelock4v@mac.com,189.112.196.88 +177,Kelcy,Mavin,kmavin4w@bloglines.com,0.114.85.73 +178,Alonso,Mapother,amapother4x@discovery.com,255.92.160.115 +179,Shelton,Spellard,sspellard4y@icio.us,171.103.162.9 +180,Arin,Geany,ageany4z@w3.org,181.19.214.187 +181,Bernetta,Isakov,bisakov50@virginia.edu,218.183.145.140 +182,Boone,Garrard,bgarrard51@irs.gov,46.26.5.24 +183,Edgardo,Pleasaunce,epleasaunce52@globo.com,59.126.148.239 +184,Arch,Gaddesby,agaddesby53@friendfeed.com,249.59.113.51 +185,Brandy,Gorries,bgorries54@ehow.com,255.199.133.203 +186,Christiana,Howsam,chowsam55@usda.gov,181.20.166.184 +187,Vin,Momery,vmomery56@free.fr,65.42.186.56 +188,Perry,Cullotey,pcullotey57@yellowbook.com,120.12.63.104 +189,Cherise,De Biasi,cdebiasi58@goodreads.com,190.114.2.70 +190,Hanny,Stubbes,hstubbes59@chronoengine.com,137.90.146.109 +191,Monah,Boutton,mboutton5a@homestead.com,140.69.12.115 +192,Hamid,Calloway,hcalloway5b@nhs.uk,60.220.17.117 +193,Miner,Epgrave,mepgrave5c@mapquest.com,151.67.233.50 +194,Bertrando,Mallabar,bmallabar5d@timesonline.co.uk,180.63.24.173 +195,Merci,Sturton,msturton5e@cloudflare.com,30.128.226.38 +196,Roland,Astlet,rastlet5f@spiegel.de,53.57.186.191 +197,Nathalia,Durdle,ndurdle5g@bloglovin.com,231.199.154.107 +198,Lissie,Rouzet,lrouzet5h@cbsnews.com,53.222.142.148 +199,Camellia,Elstone,celstone5i@noaa.gov,42.69.82.116 +200,Kaja,Conklin,kconklin5j@slate.com,79.82.90.4 +201,Saunderson,Hun,shun5k@creativecommons.org,16.157.179.142 +202,Roby,Clemetts,rclemetts5l@boston.com,140.123.99.70 +203,Corinna,Tidmarsh,ctidmarsh5m@yellowbook.com,133.208.20.165 +204,Maude,Regitz,mregitz5n@netlog.com,219.141.22.123 +205,Elaina,Braidwood,ebraidwood5o@unicef.org,248.58.91.45 +206,Corrianne,Whitelaw,cwhitelaw5p@mediafire.com,118.18.114.16 +207,Eberto,Swyndley,eswyndley5q@geocities.com,27.236.40.116 +208,Christiano,Minucci,cminucci5r@examiner.com,156.189.56.97 +209,Malachi,Revell,mrevell5s@soup.io,207.107.110.198 +210,Annadiana,Tysack,atysack5t@discuz.net,233.37.29.6 +211,Federico,Giovanardi,fgiovanardi5u@ycombinator.com,243.150.14.238 +212,Caty,Christon,cchriston5v@creativecommons.org,130.23.247.197 +213,Maryanne,Gradon,mgradon5w@wufoo.com,93.232.255.99 +214,Jack,Laurence,jlaurence5x@usda.gov,208.254.160.155 +215,Lauraine,Peplay,lpeplay5y@domainmarket.com,75.25.167.2 +216,Ortensia,Stouther,ostouther5z@mozilla.org,113.76.175.213 +217,Iago,Tunstall,itunstall60@amazon.com,99.202.202.181 +218,Georas,Lace,glace61@usa.gov,169.132.20.130 +219,Peter,Peggs,ppeggs62@twitpic.com,180.204.244.2 +220,Aviva,Fruchon,afruchon63@amazon.co.uk,53.206.106.56 +221,Tirrell,Guillou,tguillou64@webnode.com,74.166.194.83 +222,Temple,Wisniewski,twisniewski65@instagram.com,227.60.79.73 +223,Giorgi,Beddo,gbeddo66@baidu.com,139.14.44.66 +224,Davie,Ranking,dranking67@ft.com,136.84.98.59 +225,Terrence,Dunnett,tdunnett68@deliciousdays.com,61.26.160.251 +226,Katha,Greasley,kgreasley69@hubpages.com,138.139.214.118 +227,Agnese,Cardenas,acardenas6a@cdbaby.com,172.89.183.52 +228,Devonne,Gregg,dgregg6b@shareasale.com,101.231.151.202 +229,Zandra,Muggleton,zmuggleton6c@1688.com,118.196.56.164 +230,Brandyn,Arnold,barnold6d@fema.gov,32.15.169.236 +231,Vivie,Rubel,vrubel6e@google.nl,36.14.201.192 +232,Alex,Linney,alinney6f@slate.com,184.180.199.186 +233,Dimitry,Delouch,ddelouch6g@ucsd.edu,149.49.16.223 +234,Tedd,Sweynson,tsweynson6h@opera.com,98.124.176.147 +235,Antonio,Lawfull,alawfull6i@networkadvertising.org,198.67.237.250 +236,Beverlee,Penni,bpenni6j@comcast.net,140.51.191.227 +237,Rosemary,Minor,rminor6k@vk.com,94.93.169.60 +238,Abbie,Deason,adeason6l@berkeley.edu,147.14.18.158 +239,Ileane,Friday,ifriday6m@wiley.com,188.172.47.190 +240,Stephenie,Woolatt,swoolatt6n@infoseek.co.jp,3.176.184.203 +241,Angel,Moden,amoden6o@nasa.gov,255.57.108.58 +242,Chevy,Croley,ccroley6p@wufoo.com,132.248.149.49 +243,Gaylor,Wiltshear,gwiltshear6q@jimdo.com,82.92.128.187 +244,Hagen,Benda,hbenda6r@boston.com,249.202.180.209 +245,Nickie,Sprake,nsprake6s@cloudflare.com,229.141.64.215 +246,Ulberto,Lakenden,ulakenden6t@kickstarter.com,111.8.12.119 +247,Annnora,Bunworth,abunworth6u@mysql.com,12.100.167.66 +248,Lesli,McFall,lmcfall6v@thetimes.co.uk,39.86.103.227 +249,Creight,Wogden,cwogden6w@google.de,8.71.1.35 +250,Evey,End,eend6x@reuters.com,250.254.194.206 +251,Ranna,Glazyer,rglazyer6y@wikimedia.org,80.0.51.83 +252,Francisco,Elcoate,felcoate6z@wired.com,102.116.100.0 +253,Selig,Pepler,spepler70@github.io,134.103.190.178 +254,Hamel,Peasee,hpeasee71@kickstarter.com,238.90.201.30 +255,Louise,Hasney,lhasney72@hibu.com,199.137.135.110 +256,Dahlia,Georgeou,dgeorgeou73@studiopress.com,162.209.224.126 +257,Chase,Hapke,chapke74@fastcompany.com,154.159.242.2 +258,Ring,Fluin,rfluin75@discovery.com,237.233.233.27 +259,Virginia,Marland,vmarland76@miibeian.gov.cn,143.192.114.83 +260,Paxon,Warbey,pwarbey77@51.la,125.7.220.195 +261,Liana,Stanworth,lstanworth78@miitbeian.gov.cn,110.25.203.26 +262,Karina,Chalmers,kchalmers79@angelfire.com,252.100.183.152 +263,Frazer,Knoton,fknoton7a@arstechnica.com,218.62.101.165 +264,Fairlie,Herkess,fherkess7b@diigo.com,59.53.7.215 +265,Binnie,Eadon,beadon7c@prlog.org,199.212.166.40 +266,Fannie,Eldin,feldin7d@exblog.jp,123.145.220.3 +267,Thaxter,Beamand,tbeamand7e@techcrunch.com,101.127.7.155 +268,Marcile,Coverley,mcoverley7f@123-reg.co.uk,247.143.32.95 +269,Evan,Hawkwood,ehawkwood7g@phpbb.com,178.45.110.151 +270,Tiphani,Aldhous,taldhous7h@is.gd,174.230.79.189 +271,Gertruda,Cawood,gcawood7i@google.it,28.209.45.209 +272,Auberon,Loveland,aloveland7j@homestead.com,211.149.5.147 +273,Salmon,McMickan,smcmickan7k@clickbank.net,38.13.110.150 +274,Lotta,McDougle,lmcdougle7l@pagesperso-orange.fr,20.240.225.225 +275,Uta,Percy,upercy7m@who.int,250.139.21.183 +276,Rori,Southward,rsouthward7n@sina.com.cn,166.107.196.142 +277,Janna,Barneville,jbarneville7o@sogou.com,68.173.71.94 +278,Heather,Earle,hearle7p@nbcnews.com,33.160.255.99 +279,Hartley,Goulborn,hgoulborn7q@adobe.com,96.176.133.88 +280,Alli,Di Franceschi,adifranceschi7r@reference.com,10.163.229.86 +281,Noelyn,Juleff,njuleff7s@vk.com,87.159.235.164 +282,Gay,Derham,gderham7t@soundcloud.com,32.46.181.78 +283,Evvy,Burkill,eburkill7u@phoca.cz,5.177.33.95 +284,Nobe,Fery,nfery7v@berkeley.edu,124.14.138.141 +285,Carey,Lockner,clockner7w@infoseek.co.jp,236.98.79.192 +286,Patrice,De Lorenzo,pdelorenzo7x@epa.gov,59.104.71.225 +287,Norine,Costigan,ncostigan7y@blogspot.com,33.34.125.123 +288,Eveline,Hutable,ehutable7z@alexa.com,83.232.125.97 +289,Mackenzie,Sholem,msholem80@wired.com,66.232.214.142 +290,Ardelia,Gammage,agammage81@lycos.com,81.47.84.39 +291,Hakim,Pestricke,hpestricke82@sciencedirect.com,6.211.189.173 +292,Alphonso,Lazarus,alazarus83@lulu.com,9.143.238.133 +293,Fred,Broxton,fbroxton84@studiopress.com,200.196.89.145 +294,Florencia,Bilt,fbilt85@bloomberg.com,126.140.143.159 +295,Tanner,Blumfield,tblumfield86@thetimes.co.uk,177.202.37.42 +296,Phil,Duplan,pduplan87@networkadvertising.org,78.98.30.138 +297,Marty,Rother,mrother88@reuters.com,92.189.95.115 +298,Carree,Oxford,coxford89@deliciousdays.com,150.176.219.1 +299,Carolynn,Drance,cdrance8a@fotki.com,186.44.48.162 +300,Yoko,Perree,yperree8b@hibu.com,142.63.125.237 +301,Phyllis,Jikovsky,pjikovsky8c@independent.co.uk,7.3.177.62 +302,Blinny,Scatchard,bscatchard8d@blogtalkradio.com,126.130.223.95 +303,Tracey,Aharoni,taharoni8e@ustream.tv,248.64.74.236 +304,Bernadina,Freeburn,bfreeburn8f@amazon.co.uk,19.69.151.159 +305,Stacee,Feeham,sfeeham8g@aol.com,43.191.101.169 +306,Josy,Ridgedell,jridgedell8h@apache.org,30.31.250.117 +307,Hiram,Willgrass,hwillgrass8i@symantec.com,80.128.69.234 +308,Yalonda,Laxtonne,ylaxtonne8j@livejournal.com,133.181.128.162 +309,Tiebout,Kupper,tkupper8k@reuters.com,204.104.124.81 +310,Marian,Gutch,mgutch8l@zdnet.com,129.56.44.92 +311,Justis,Charlesworth,jcharlesworth8m@t.co,127.92.113.240 +312,Jacquelynn,Glass,jglass8n@behance.net,7.101.43.182 +313,Mayor,Husband,mhusband8o@upenn.edu,3.1.193.229 +314,Kev,Hubbold,khubbold8p@flavors.me,70.50.10.83 +315,Horatius,Trudgion,htrudgion8q@shareasale.com,151.227.23.28 +316,Myrtia,Cordes,mcordes8r@globo.com,218.202.183.118 +317,Reagen,Lapre,rlapre8s@cyberchimps.com,132.173.255.42 +318,Guy,Osgardby,gosgardby8t@baidu.com,119.67.94.65 +319,Jori,Arrault,jarrault8u@zimbio.com,59.21.94.35 +320,Hill,Crampsey,hcrampsey8v@ebay.co.uk,3.170.10.72 +321,Jo ann,Francom,jfrancom8w@multiply.com,111.249.41.24 +322,Clive,Frascone,cfrascone8x@goo.ne.jp,181.191.42.104 +323,Carl,Charer,ccharer8y@ask.com,253.185.128.82 +324,Margarita,Pledger,mpledger8z@globo.com,251.58.128.251 +325,Mord,Matthessen,mmatthessen90@about.me,207.59.70.244 +326,Rina,Osbiston,rosbiston91@ameblo.jp,34.153.172.87 +327,Alexina,Stuchbery,astuchbery92@vimeo.com,4.254.53.179 +328,Duncan,Perford,dperford93@fda.gov,130.47.86.144 +329,Glynnis,Yarrington,gyarrington94@loc.gov,8.136.79.187 +330,Paige,Filippi,pfilippi95@symantec.com,31.136.6.109 +331,Almire,Curnokk,acurnokk96@ca.gov,161.194.173.84 +332,Helena,Andreacci,handreacci97@chron.com,249.232.236.206 +333,Berti,Fearfull,bfearfull98@over-blog.com,210.247.197.92 +334,Lula,Joburn,ljoburn99@people.com.cn,119.56.63.228 +335,Urson,Chown,uchown9a@ycombinator.com,221.93.156.233 +336,Morlee,Myhill,mmyhill9b@ehow.com,93.75.196.247 +337,Glynda,Kayley,gkayley9c@examiner.com,160.84.170.80 +338,Vally,Eslinger,veslinger9d@boston.com,174.164.207.3 +339,Edouard,Schubart,eschubart9e@cornell.edu,7.23.150.142 +340,Dollie,Hargerie,dhargerie9f@yahoo.com,13.176.70.32 +341,Raphaela,Hasluck,rhasluck9g@cdbaby.com,255.251.180.175 +342,Fransisco,Szabo,fszabo9h@goodreads.com,159.114.236.220 +343,Quinn,Mordie,qmordie9i@marketwatch.com,32.14.40.214 +344,Nicoline,Behrens,nbehrens9j@posterous.com,130.8.213.242 +345,Vito,Bromby,vbromby9k@bloglovin.com,56.34.49.131 +346,Horacio,Tremberth,htremberth9l@ocn.ne.jp,148.195.78.183 +347,Heidie,Sawle,hsawle9m@1688.com,14.87.253.125 +348,Mina,Delph,mdelph9n@gravatar.com,3.44.2.51 +349,Jennie,Gerleit,jgerleit9o@cpanel.net,144.194.96.157 +350,Nelie,Ault,nault9p@tmall.com,132.215.199.16 +351,Myrtle,Casely,mcasely9q@angelfire.com,17.12.205.133 +352,Ashli,Gristwood,agristwood9r@studiopress.com,91.212.98.169 +353,Armstrong,Libermore,alibermore9s@nhs.uk,176.56.230.231 +354,Paule,Sprowson,psprowson9t@google.de,162.67.240.94 +355,Donovan,Pearlman,dpearlman9u@cargocollective.com,158.54.166.121 +356,Isabeau,Goranov,igoranov9v@smugmug.com,239.137.92.63 +357,Zeb,Shane,zshane9w@eepurl.com,30.4.128.139 +358,Kaitlin,Bladon,kbladon9x@nhs.uk,98.41.113.137 +359,Georgie,Westmancoat,gwestmancoat9y@eepurl.com,107.62.32.180 +360,Laraine,Jaumet,ljaumet9z@mac.com,101.140.100.140 +361,Artemis,Flannigan,aflannigana0@nyu.edu,163.59.229.174 +362,Kalvin,Cortin,kcortina1@microsoft.com,227.69.2.127 +363,Gavin,Hassell,ghassella2@google.it,149.135.149.206 +364,Gabbi,Widger,gwidgera3@salon.com,73.191.239.172 +365,Huntlee,Cummings,hcummingsa4@amazon.de,95.213.192.155 +366,Dora,Carlisi,dcarlisia5@histats.com,33.241.105.150 +367,Stefa,Langsdon,slangsdona6@ycombinator.com,166.197.172.22 +368,Grier,Kennealy,gkennealya7@phoca.cz,215.124.143.143 +369,Othilia,Gulvin,ogulvina8@theatlantic.com,1.181.101.218 +370,Ax,Gulk,agulka9@facebook.com,109.220.189.0 +371,Pedro,Roncelli,proncelliaa@addthis.com,220.105.19.192 +372,Sara-ann,Utteridge,sutteridgeab@slideshare.net,122.105.134.161 +373,Enoch,Shepcutt,eshepcuttac@cafepress.com,134.95.17.100 +374,Elsie,Peasegood,epeasegoodad@bing.com,148.53.172.79 +375,Esme,Mallock,emallockae@simplemachines.org,78.203.230.34 +376,Thalia,MacNally,tmacnallyaf@craigslist.org,219.198.35.102 +377,Hartley,Zoane,hzoaneag@canalblog.com,216.237.105.88 +378,Thorsten,Samett,tsamettah@histats.com,207.219.108.26 +379,Whitby,Pattini,wpattiniai@cbslocal.com,207.82.202.30 +380,Drugi,Robson,drobsonaj@networksolutions.com,23.89.17.112 +381,Myron,Cape,mcapeak@csmonitor.com,66.250.132.88 +382,Jehu,Navarre,jnavarreal@shareasale.com,199.29.252.132 +383,Gerty,Shavel,gshavelam@ning.com,23.147.185.39 +384,Orbadiah,Baughen,obaughenan@goo.ne.jp,27.220.204.144 +385,Danell,Dinneen,ddinneenao@merriam-webster.com,117.86.100.127 +386,Craggie,Winson,cwinsonap@hatena.ne.jp,160.85.146.160 +387,Andonis,MacGille,amacgilleaq@wired.com,48.14.157.131 +388,Claudine,Box,cboxar@etsy.com,187.54.28.196 +389,Igor,Jacox,ijacoxas@slate.com,179.246.14.189 +390,Leeland,Ingleton,lingletonat@umich.edu,201.181.2.90 +391,Wilma,Sybry,wsybryau@economist.com,150.96.210.188 +392,Sherwin,Schapiro,sschapiroav@ox.ac.uk,159.218.191.196 +393,Jeannie,Innes,jinnesaw@ocn.ne.jp,35.94.133.115 +394,Barbra,Jeschner,bjeschnerax@home.pl,120.115.31.214 +395,Dasie,Ludlam,dludlamay@usa.gov,197.60.159.215 +396,Cleo,Franz,cfranzaz@cafepress.com,10.4.172.62 +397,Sascha,Seelbach,sseelbachb0@constantcontact.com,26.24.82.168 +398,Nissy,Hallahan,nhallahanb1@csmonitor.com,98.190.108.251 +399,Boote,Stemp,bstempb2@cnn.com,128.253.30.32 +400,Markos,Bertram,mbertramb3@behance.net,128.15.252.63 +401,Flor,Paramore,fparamoreb4@ow.ly,164.46.95.215 +402,Harman,Minthorpe,hminthorpeb5@wikipedia.org,48.203.63.31 +403,Neilla,Goggey,ngoggeyb6@reverbnation.com,56.67.211.58 +404,Allin,Noddings,anoddingsb7@globo.com,208.31.112.60 +405,Cassi,Roles,crolesb8@people.com.cn,119.237.74.26 +406,Zuzana,Cliss,zclissb9@guardian.co.uk,89.132.183.2 +407,Margo,Pendreigh,mpendreighba@forbes.com,198.114.121.203 +408,Yehudi,Arnecke,yarneckebb@wix.com,41.171.29.12 +409,Caye,Geering,cgeeringbc@nsw.gov.au,60.107.73.28 +410,Jess,Pattini,jpattinibd@utexas.edu,110.17.160.73 +411,Olvan,Blackleech,oblackleechbe@rambler.ru,183.228.3.230 +412,Heidie,Piegrome,hpiegromebf@soundcloud.com,10.219.76.120 +413,Annmaria,Sandom,asandombg@disqus.com,252.217.161.38 +414,Nollie,Friary,nfriarybh@drupal.org,173.208.66.240 +415,Krystyna,Skitch,kskitchbi@newsvine.com,248.227.29.64 +416,Lanna,Banfill,lbanfillbj@ycombinator.com,52.61.113.79 +417,Antoine,Skuse,askusebk@github.com,254.163.19.172 +418,Janith,Kingsland,jkingslandbl@digg.com,252.188.219.179 +419,Malory,Neller,mnellerbm@soundcloud.com,123.70.66.220 +420,Rutherford,Goodwin,rgoodwinbn@springer.com,62.186.229.16 +421,Felita,Fleckney,ffleckneybo@zimbio.com,6.46.133.160 +422,Gratia,Van Arsdale,gvanarsdalebp@cargocollective.com,122.147.178.146 +423,Madeleine,Angrick,mangrickbq@kickstarter.com,70.196.180.152 +424,Rurik,Bernakiewicz,rbernakiewiczbr@lycos.com,30.160.101.66 +425,Ferdinande,Tinline,ftinlinebs@last.fm,181.249.213.202 +426,Kenyon,Branigan,kbraniganbt@imageshack.us,204.176.54.190 +427,Arley,Cursey,acurseybu@latimes.com,17.58.82.43 +428,Abramo,Crossingham,acrossinghambv@myspace.com,192.236.31.231 +429,Sayres,Risso,srissobw@theglobeandmail.com,115.236.192.45 +430,Andrew,Horwell,ahorwellbx@blinklist.com,110.235.15.207 +431,Loella,Hegden,lhegdenby@biglobe.ne.jp,177.37.227.253 +432,Gerek,Barrass,gbarrassbz@people.com.cn,80.202.217.115 +433,Pace,Wickstead,pwicksteadc0@state.gov,68.139.125.142 +434,Thedrick,Took,ttookc1@rakuten.co.jp,233.204.174.146 +435,Venita,Trotter,vtrotterc2@indiegogo.com,147.116.118.189 +436,Carmencita,Motto,cmottoc3@123-reg.co.uk,132.48.107.69 +437,Marion,Fortie,mfortiec4@ebay.com,254.15.201.135 +438,Lorrie,Borlease,lborleasec5@sfgate.com,216.74.2.87 +439,Iormina,Jaycox,ijaycoxc6@so-net.ne.jp,156.105.28.5 +440,Ollie,Siggens,osiggensc7@gravatar.com,170.190.165.81 +441,Jeniffer,Klimentov,jklimentovc8@storify.com,22.231.192.37 +442,Giulietta,Sloss,gslossc9@dagondesign.com,70.103.164.246 +443,Dirk,Oldacres,doldacresca@technorati.com,153.82.103.2 +444,Thane,Klimke,tklimkecb@people.com.cn,51.39.234.210 +445,Dalston,Wakelam,dwakelamcc@usa.gov,83.197.236.115 +446,Robyn,Topham,rtophamcd@sourceforge.net,42.178.182.2 +447,Jamima,Donaghie,jdonaghiece@mysql.com,203.43.208.108 +448,Shanta,Whatman,swhatmancf@purevolume.com,149.93.188.6 +449,Caroline,Gorries,cgorriescg@123-reg.co.uk,82.137.166.26 +450,Filmore,De Beauchamp,fdebeauchampch@sfgate.com,214.41.248.185 +451,Lila,Coltman,lcoltmanci@craigslist.org,31.70.118.118 +452,Elijah,Mackinder,emackindercj@digg.com,110.87.4.138 +453,Bunny,Rudledge,brudledgeck@cnbc.com,121.99.176.158 +454,Rebeca,Stienton,rstientoncl@macromedia.com,125.55.195.206 +455,Dalston,Rubinowitch,drubinowitchcm@sakura.ne.jp,220.145.118.199 +456,Feodor,Gosland,fgoslandcn@narod.ru,0.103.87.144 +457,Isak,Attock,iattockco@mediafire.com,48.129.121.205 +458,Kathleen,Venes,kvenescp@hhs.gov,71.224.38.76 +459,Lucille,Jodrellec,ljodrelleccq@topsy.com,228.24.118.202 +460,Fernanda,Trill,ftrillcr@furl.net,44.61.125.200 +461,Harley,Masterson,hmastersoncs@newyorker.com,252.69.52.235 +462,Lazar,Lightman,llightmanct@github.com,146.200.165.16 +463,Haskell,Abbis,habbiscu@google.cn,152.228.9.168 +464,Hurley,Midford,hmidfordcv@sbwire.com,129.151.32.245 +465,Jemimah,Pressey,jpresseycw@a8.net,183.62.242.244 +466,Carrissa,Friary,cfriarycx@google.it,92.55.177.71 +467,Maryanna,Paulsen,mpaulsency@nationalgeographic.com,181.209.180.227 +468,Giraud,Gronav,ggronavcz@taobao.com,105.213.114.225 +469,Chancey,Pettifer,cpettiferd0@sohu.com,130.9.209.119 +470,Frannie,Gloyens,fgloyensd1@redcross.org,19.191.0.75 +471,Jasen,Costock,jcostockd2@about.me,87.179.47.67 +472,Welch,Tomaszczyk,wtomaszczykd3@blogger.com,38.44.135.32 +473,Luciano,Mc Meekin,lmcmeekind4@comcast.net,254.164.180.49 +474,Del,Hentzer,dhentzerd5@skyrock.com,230.94.237.132 +475,Gretel,Vassman,gvassmand6@about.me,182.239.129.59 +476,Milty,Reicharz,mreicharzd7@mozilla.com,199.208.140.143 +477,Whitney,Sendall,wsendalld8@edublogs.org,76.27.135.149 +478,Tim,Glison,tglisond9@usgs.gov,46.203.89.135 +479,Maurice,Blooman,mbloomanda@senate.gov,120.94.254.9 +480,Ysabel,Eagles,yeaglesdb@oakley.com,223.168.236.122 +481,Nicolle,Menci,nmencidc@fema.gov,14.67.226.38 +482,Agnes,Shutte,ashuttedd@xinhuanet.com,71.215.246.206 +483,Emlynn,Calder,ecalderde@mail.ru,139.138.245.83 +484,Jorry,Kedslie,jkedsliedf@mozilla.org,87.35.218.149 +485,Manuel,Downey,mdowneydg@walmart.com,89.51.120.229 +486,Caro,Ambrosio,cambrosiodh@addthis.com,85.126.54.39 +487,Welch,Yeskov,wyeskovdi@blogs.com,192.89.209.194 +488,Gerrard,McLorinan,gmclorinandj@xinhuanet.com,75.245.44.64 +489,Briny,Garret,bgarretdk@microsoft.com,223.195.222.201 +490,Mark,Charte,mchartedl@reddit.com,239.202.60.94 +491,Luci,Dzenisenka,ldzenisenkadm@tinypic.com,82.253.61.134 +492,Kelbee,Larchier,klarchierdn@quantcast.com,221.163.28.162 +493,Mozelle,Chritchlow,mchritchlowdo@technorati.com,198.81.173.161 +494,Jarvis,Iorillo,jiorillodp@studiopress.com,93.101.150.11 +495,Netta,Reape,nreapedq@gnu.org,51.144.222.128 +496,Bing,Gerardot,bgerardotdr@parallels.com,50.104.129.117 +497,Corny,Odcroft,codcroftds@gnu.org,208.131.76.86 +498,Cirstoforo,Danilishin,cdanilishindt@i2i.jp,81.71.29.231 +499,Winni,Fonzone,wfonzonedu@pagesperso-orange.fr,224.208.253.44 +500,Greta,Charlesworth,gcharlesworthdv@cdc.gov,189.92.249.105 +501,Davita,Nattriss,dnattrissdw@usnews.com,104.76.94.84 +502,Jacky,Merrington,jmerringtondx@clickbank.net,32.186.87.6 +503,Levin,Brightling,lbrightlingdy@amazon.co.uk,244.155.255.27 +504,Nari,Tenny,ntennydz@ocn.ne.jp,225.68.188.123 +505,Shem,Benthall,sbenthalle0@webeden.co.uk,78.171.218.118 +506,Austine,Sygroves,asygrovese1@gov.uk,131.187.101.74 +507,Armando,Totterdell,atotterdelle2@gravatar.com,158.38.141.117 +508,Barde,Sibbs,bsibbse3@mit.edu,211.78.171.181 +509,Marcelia,Castagna,mcastagnae4@theguardian.com,4.99.134.90 +510,Marybelle,Hamelyn,mhamelyne5@yahoo.com,52.67.130.95 +511,Deana,Whittington,dwhittingtone6@mediafire.com,72.58.213.232 +512,Ashley,Waggett,awaggette7@delicious.com,108.85.79.77 +513,Ernestus,Mayling,emaylinge8@goodreads.com,124.56.40.59 +514,Roanne,Mullinder,rmullindere9@trellian.com,201.53.105.68 +515,Lodovico,Voules,lvoulesea@amazon.com,61.179.48.169 +516,Colas,Rollinson,crollinsoneb@bbc.co.uk,53.246.111.221 +517,Stefania,Heasly,sheaslyec@zdnet.com,187.226.144.94 +518,Demetra,Aizik,daiziked@sfgate.com,73.115.216.63 +519,Munroe,Pillans,mpillansee@buzzfeed.com,7.214.116.110 +520,Kaela,Bilbee,kbilbeeef@twitter.com,56.232.67.129 +521,Philippa,Pachmann,ppachmanneg@diigo.com,100.156.152.139 +522,Symon,Beazer,sbeazereh@ted.com,144.22.117.218 +523,Debi,Bonifacio,dbonifacioei@icio.us,95.128.45.154 +524,Cristi,Cumberledge,ccumberledgeej@google.com.au,17.253.21.244 +525,Jocelyne,Humm,jhummek@sphinn.com,5.193.76.122 +526,Inna,Erni,ierniel@weibo.com,162.244.156.206 +527,Edik,Studdard,estuddardem@amazon.de,112.108.204.147 +528,Jo,Howard,jhowarden@blinklist.com,252.90.29.4 +529,Marcelo,Springall,mspringalleo@zimbio.com,146.82.70.138 +530,Roxanne,Baggs,rbaggsep@biblegateway.com,43.59.252.117 +531,Josiah,Priditt,jpriditteq@goo.gl,128.191.182.166 +532,Margit,Forsdicke,mforsdickeer@ox.ac.uk,105.146.197.153 +533,Derril,Ambridge,dambridgees@facebook.com,25.99.66.38 +534,Eryn,Cohrs,ecohrset@geocities.jp,127.15.106.240 +535,Boone,Brient,bbrienteu@acquirethisname.com,135.74.238.119 +536,Barry,Cale,bcaleev@ucoz.com,15.154.159.133 +537,Carey,Sparhawk,csparhawkew@bloglines.com,129.132.63.205 +538,Tammy,Charley,tcharleyex@livejournal.com,151.198.50.157 +539,Walsh,Leggin,wlegginey@narod.ru,45.190.220.196 +540,Matthiew,Espinoza,mespinozaez@epa.gov,153.158.117.40 +541,Bekki,Lindwall,blindwallf0@jiathis.com,110.99.162.3 +542,Virgie,MacMychem,vmacmychemf1@mozilla.com,251.42.243.242 +543,Liv,Boundey,lboundeyf2@washingtonpost.com,13.30.208.83 +544,Dirk,Feld,dfeldf3@unesco.org,245.189.172.75 +545,Nikki,Boorne,nboornef4@discovery.com,19.92.231.218 +546,Brynna,Smeath,bsmeathf5@springer.com,34.139.205.63 +547,Erica,Laraway,elarawayf6@va.gov,0.19.56.89 +548,Gill,Kubczak,gkubczakf7@mtv.com,58.189.26.134 +549,Stefa,Klicher,sklicherf8@cocolog-nifty.com,212.250.35.126 +550,Ric,Matteini,rmatteinif9@google.com,76.40.210.171 +551,Renate,Clendennen,rclendennenfa@paginegialle.it,155.128.125.241 +552,Aryn,Housden,ahousdenfb@elegantthemes.com,218.187.212.50 +553,Denice,Haimes,dhaimesfc@tiny.cc,127.43.110.137 +554,Clarette,Brookfield,cbrookfieldfd@simplemachines.org,5.22.2.135 +555,Gabbey,Bradbrook,gbradbrookfe@tripod.com,100.103.183.118 +556,Chicky,Cordier,ccordierff@tripod.com,252.64.158.116 +557,Barton,Collick,bcollickfg@netlog.com,74.6.198.84 +558,Olivie,Fibbens,ofibbensfh@exblog.jp,62.227.196.134 +559,Donny,Wibrow,dwibrowfi@hubpages.com,46.77.170.143 +560,Dory,Williment,dwillimentfj@csmonitor.com,31.82.168.122 +561,Elayne,Cranmer,ecranmerfk@google.pl,12.148.73.45 +562,Corby,Vaz,cvazfl@weather.com,47.184.29.175 +563,Annmarie,Bisterfeld,abisterfeldfm@huffingtonpost.com,9.167.215.142 +564,Emelda,Blasius,eblasiusfn@vkontakte.ru,223.61.226.54 +565,Paloma,Hulke,phulkefo@canalblog.com,201.194.32.92 +566,Bertie,Del Checolo,bdelchecolofp@jimdo.com,243.210.15.79 +567,Cullen,Summerton,csummertonfq@blogtalkradio.com,117.160.26.233 +568,Algernon,Backshell,abackshellfr@squidoo.com,35.184.102.214 +569,Nevin,Cicculi,ncicculifs@microsoft.com,54.140.7.38 +570,Kelcey,Olrenshaw,kolrenshawft@comcast.net,219.11.78.3 +571,Benny,Curtayne,bcurtaynefu@addthis.com,134.236.253.152 +572,Florie,Magenny,fmagennyfv@bbb.org,236.226.233.115 +573,Tabor,Clench,tclenchfw@google.cn,58.188.164.129 +574,Renato,Langmuir,rlangmuirfx@ed.gov,224.245.61.255 +575,Timoteo,Megarry,tmegarryfy@businesswire.com,87.56.232.131 +576,Saba,Trace,stracefz@cnn.com,172.20.254.18 +577,Martin,Hardin,mharding0@uiuc.edu,59.94.197.156 +578,Che,Bosma,cbosmag1@example.com,171.9.149.230 +579,Lorenzo,Kingshott,lkingshottg2@wikipedia.org,134.33.44.254 +580,Dorise,Paige,dpaigeg3@jugem.jp,20.161.148.227 +581,Elana,Knocker,eknockerg4@biblegateway.com,118.187.107.81 +582,Loralie,Gabala,lgabalag5@time.com,204.62.248.40 +583,Gerrard,Hofler,ghoflerg6@mapquest.com,21.90.212.249 +584,Meade,Mee,mmeeg7@edublogs.org,243.160.122.66 +585,Lucille,Hardbattle,lhardbattleg8@acquirethisname.com,185.202.79.158 +586,Brigham,Garrison,bgarrisong9@icq.com,100.197.243.236 +587,Gabrila,Gartsyde,ggartsydega@berkeley.edu,218.166.227.41 +588,Angel,Audas,aaudasgb@youtu.be,45.36.137.219 +589,Babara,Blenkensop,bblenkensopgc@163.com,69.160.69.41 +590,Odelle,MacNess,omacnessgd@1688.com,189.134.207.88 +591,Normy,Luney,nluneyge@yahoo.co.jp,175.173.13.106 +592,Billie,Westnedge,bwestnedgegf@soup.io,87.242.196.167 +593,Gusella,Trevers,gtreversgg@printfriendly.com,165.221.104.240 +594,Sergei,Headey,sheadeygh@smh.com.au,249.88.42.65 +595,Page,Suggate,psuggategi@cbsnews.com,46.36.122.173 +596,Frasier,Beards,fbeardsgj@illinois.edu,112.199.28.40 +597,Cristy,Kuhnt,ckuhntgk@ezinearticles.com,242.113.62.65 +598,Hyacintha,Marriot,hmarriotgl@stanford.edu,144.224.32.129 +599,Tish,Simyson,tsimysongm@hp.com,55.111.3.192 +600,Kimmy,Cookman,kcookmangn@ftc.gov,110.100.123.66 +601,Fee,Trenaman,ftrenamango@stanford.edu,125.132.183.122 +602,Harold,Spreckley,hspreckleygp@nature.com,115.186.25.105 +603,Ophelie,Spinnace,ospinnacegq@miibeian.gov.cn,255.234.255.18 +604,Aymer,MacGowan,amacgowangr@booking.com,214.162.180.214 +605,Elliot,Brownsword,ebrownswordgs@ihg.com,76.84.225.105 +606,Christabel,Riedel,criedelgt@nationalgeographic.com,91.92.75.188 +607,Mercie,Gaukrodge,mgaukrodgegu@nasa.gov,8.66.116.234 +608,Jordan,Doiley,jdoileygv@themeforest.net,119.34.164.200 +609,Guenna,Dearnly,gdearnlygw@people.com.cn,40.147.212.167 +610,Rosalind,Doreward,rdorewardgx@hao123.com,76.93.185.142 +611,Stearne,Siddall,ssiddallgy@apache.org,206.2.186.251 +612,Maible,Vigurs,mvigursgz@smugmug.com,233.89.155.231 +613,Carry,Curuclis,ccuruclish0@cyberchimps.com,237.4.137.235 +614,Dacia,Shoobridge,dshoobridgeh1@sphinn.com,97.220.159.59 +615,Illa,Townson,itownsonh2@slashdot.org,36.57.197.202 +616,Mirilla,Spehr,mspehrh3@virginia.edu,2.230.213.20 +617,Afton,Clout,aclouth4@php.net,148.51.103.239 +618,Zia,Niccols,zniccolsh5@umn.edu,111.92.244.233 +619,Harlan,Care,hcareh6@geocities.jp,147.165.253.105 +620,Nealy,Kelby,nkelbyh7@java.com,199.17.128.183 +621,Hurlee,Rosel,hroselh8@aboutads.info,148.83.117.93 +622,Oates,Jurkowski,ojurkowskih9@domainmarket.com,51.168.198.177 +623,Tymon,Emerson,temersonha@gravatar.com,58.135.8.221 +624,Stacy,Katzmann,skatzmannhb@tumblr.com,27.51.250.240 +625,Aksel,Udden,auddenhc@reverbnation.com,8.179.159.178 +626,Brooke,Lourenco,blourencohd@google.com,215.41.155.94 +627,Clarita,Kolczynski,ckolczynskihe@unicef.org,211.79.208.231 +628,Emlyn,Glassman,eglassmanhf@stumbleupon.com,163.116.32.117 +629,Lucian,Gowrich,lgowrichhg@utexas.edu,190.40.48.107 +630,Rozamond,O'Kielt,rokielthh@answers.com,15.240.42.203 +631,Estel,McGeever,emcgeeverhi@paypal.com,125.220.7.209 +632,Meryl,Yakovitch,myakovitchhj@ca.gov,26.167.145.250 +633,Barty,Sneden,bsnedenhk@blogtalkradio.com,4.137.5.75 +634,Alex,McCord,amccordhl@hud.gov,73.247.18.192 +635,Edwina,Rubbert,erubberthm@tamu.edu,119.125.97.104 +636,Dicky,Bernette,dbernettehn@weebly.com,66.168.252.37 +637,Cirilo,Withey,cwitheyho@nytimes.com,114.36.203.75 +638,Ewell,Gillbard,egillbardhp@omniture.com,87.64.26.114 +639,Jephthah,Larver,jlarverhq@whitehouse.gov,195.113.125.231 +640,Tracee,Hanalan,thanalanhr@devhub.com,149.247.21.125 +641,Martino,Aucutt,maucutths@wp.com,183.226.21.75 +642,Carmel,Tilbury,ctilburyht@hubpages.com,237.24.250.230 +643,Phillida,Gonin,pgoninhu@wiley.com,21.135.44.11 +644,Grenville,Davenport,gdavenporthv@symantec.com,161.214.152.192 +645,Roland,Quinton,rquintonhw@dot.gov,187.116.110.29 +646,Oralla,Joffe,ojoffehx@diigo.com,194.12.78.19 +647,Franky,Bratch,fbratchhy@sciencedirect.com,95.101.50.215 +648,Tally,Strass,tstrasshz@ucoz.com,189.105.115.183 +649,Kaja,Dulwitch,kdulwitchi0@wordpress.com,24.47.243.10 +650,Charley,MacMoyer,cmacmoyeri1@ezinearticles.com,125.232.95.204 +651,Erena,Meegin,emeegini2@blinklist.com,113.139.104.92 +652,Shamus,McCalister,smccalisteri3@youtu.be,185.48.230.243 +653,Kenna,Johnes,kjohnesi4@adobe.com,199.246.105.153 +654,Kermie,Minchinden,kminchindeni5@mlb.com,188.192.235.227 +655,Nyssa,Moff,nmoffi6@google.fr,181.77.162.156 +656,Sandro,Eltone,seltonei7@sitemeter.com,238.214.156.50 +657,Gonzales,Gilchrist,ggilchristi8@123-reg.co.uk,183.186.33.93 +658,Giles,Hearnshaw,ghearnshawi9@oakley.com,41.172.162.150 +659,Aileen,Kaming,akamingia@bandcamp.com,210.182.117.208 +660,Viv,O'Shiel,voshielib@amazon.com,26.61.162.9 +661,Urson,Goodlip,ugoodlipic@studiopress.com,15.113.125.212 +662,Milty,Haggerston,mhaggerstonid@independent.co.uk,152.219.3.253 +663,Sallie,Elegood,selegoodie@jiathis.com,160.171.175.184 +664,Franny,Vigors,fvigorsif@japanpost.jp,118.37.205.205 +665,Adham,Blaxley,ablaxleyig@spiegel.de,30.116.133.169 +666,Maison,Kester,mkesterih@nymag.com,106.1.202.54 +667,Jesselyn,Luchetti,jluchettiii@dion.ne.jp,62.142.116.199 +668,Lina,Rowth,lrowthij@ezinearticles.com,157.196.248.45 +669,Ashlie,Denkin,adenkinik@fda.gov,50.184.255.159 +670,Stefan,Larking,slarkingil@hugedomains.com,117.121.10.196 +671,Tarra,Siddon,tsiddonim@nyu.edu,38.211.247.49 +672,Birk,Ellsbury,bellsburyin@storify.com,137.63.23.220 +673,Kurtis,Cason,kcasonio@mlb.com,230.97.231.3 +674,Misti,Gout,mgoutip@tmall.com,151.17.163.109 +675,Westbrook,O'dell,wodelliq@jimdo.com,87.175.119.82 +676,Tilda,Louiset,tlouisetir@slate.com,170.149.37.43 +677,Marcille,Matts,mmattsis@lycos.com,144.79.136.126 +678,Welch,Gopsall,wgopsallit@istockphoto.com,50.11.182.169 +679,Annabella,Whyberd,awhyberdiu@sitemeter.com,35.92.32.199 +680,Christian,Lory,cloryiv@ocn.ne.jp,252.121.51.34 +681,Odella,Strain,ostrainiw@123-reg.co.uk,8.207.56.131 +682,Elfie,Portt,eporttix@mysql.com,163.185.104.244 +683,Henrik,Grebbin,hgrebbiniy@bizjournals.com,201.159.100.117 +684,Helyn,Jordanson,hjordansoniz@nydailynews.com,246.11.98.116 +685,Olag,Parkyns,oparkynsj0@washington.edu,141.66.101.12 +686,Dru,Molson,dmolsonj1@typepad.com,203.111.32.244 +687,Skell,Donizeau,sdonizeauj2@yandex.ru,5.141.75.227 +688,Alma,Voak,avoakj3@qq.com,125.145.71.113 +689,Hamlin,Pask,hpaskj4@cbsnews.com,118.59.32.174 +690,Harper,Ollett,hollettj5@weather.com,246.156.222.76 +691,Jerrold,Peppin,jpeppinj6@auda.org.au,20.217.61.240 +692,Esmaria,Sheal,eshealj7@kickstarter.com,239.225.184.81 +693,Brenden,Mehew,bmehewj8@webnode.com,8.46.14.81 +694,Henrie,Kenchington,hkenchingtonj9@answers.com,37.152.228.120 +695,Eve,Ponter,eponterja@arstechnica.com,220.49.183.33 +696,Thorin,Stoltz,tstoltzjb@cbc.ca,173.140.3.165 +697,Tammara,Corkan,tcorkanjc@xinhuanet.com,176.233.206.87 +698,Adelle,Avieson,aaviesonjd@wikispaces.com,147.173.134.183 +699,Ania,Evens,aevensje@java.com,157.244.22.10 +700,Lianne,Rollason,lrollasonjf@gizmodo.com,143.48.158.150 +701,Cariotta,Hamfleet,chamfleetjg@vistaprint.com,235.23.137.164 +702,Jakie,Denziloe,jdenziloejh@posterous.com,53.216.193.58 +703,Hope,Luckes,hluckesji@g.co,93.92.237.226 +704,Arley,Stickels,astickelsjj@typepad.com,56.182.90.21 +705,Dennet,Bedo,dbedojk@wikispaces.com,159.42.172.82 +706,Byron,Jagels,bjagelsjl@google.de,191.5.191.36 +707,Fianna,Whitby,fwhitbyjm@webs.com,120.48.54.228 +708,Odette,Marcq,omarcqjn@arizona.edu,253.116.251.36 +709,Elsy,Carcas,ecarcasjo@ed.gov,232.158.13.197 +710,Mickie,Mascall,mmascalljp@zdnet.com,104.67.40.134 +711,Karlie,Linggard,klinggardjq@statcounter.com,42.214.94.91 +712,Catha,Fredy,cfredyjr@sbwire.com,9.111.166.228 +713,Brinn,Caso,bcasojs@seattletimes.com,183.21.58.124 +714,Hynda,Adamczyk,hadamczykjt@biglobe.ne.jp,99.200.137.45 +715,Krystyna,Tweede,ktweedeju@constantcontact.com,185.90.38.188 +716,Janaya,Fowler,jfowlerjv@so-net.ne.jp,100.240.187.165 +717,Noll,Pawelczyk,npawelczykjw@gmpg.org,199.238.195.115 +718,Elia,Troutbeck,etroutbeckjx@wikispaces.com,17.203.214.69 +719,Sholom,Juliano,sjulianojy@pcworld.com,80.185.95.197 +720,Cullin,Lindsay,clindsayjz@foxnews.com,242.255.112.218 +721,Kelcie,Filyaev,kfilyaevk0@indiegogo.com,161.44.77.219 +722,Rodie,Bigham,rbighamk1@google.fr,35.107.24.127 +723,Sigmund,Rayson,sraysonk2@gov.uk,30.12.252.247 +724,Sonny,Triggol,striggolk3@biglobe.ne.jp,82.161.194.245 +725,Morty,Witsey,mwitseyk4@chronoengine.com,86.214.192.200 +726,Benito,Dowe,bdowek5@topsy.com,229.7.48.41 +727,Nikolaos,Wrixon,nwrixonk6@indiegogo.com,66.50.167.14 +728,Will,Poyntz,wpoyntzk7@bluehost.com,196.186.176.79 +729,Myrtia,Jellis,mjellisk8@theguardian.com,28.124.249.59 +730,Jeanine,Dionsetti,jdionsettik9@msn.com,229.45.171.95 +731,Mackenzie,Buy,mbuyka@dell.com,55.167.107.27 +732,Mikaela,Salvidge,msalvidgekb@liveinternet.ru,17.50.40.21 +733,Sapphira,Gebuhr,sgebuhrkc@plala.or.jp,227.224.204.43 +734,Grethel,Garralts,ggarraltskd@ycombinator.com,134.204.105.246 +735,Merrili,Dougher,mdougherke@springer.com,247.246.194.178 +736,Kasper,Taudevin,ktaudevinkf@japanpost.jp,212.159.34.22 +737,Dorris,Nichols,dnicholskg@aboutads.info,33.198.95.121 +738,Jacquelynn,Assel,jasselkh@tinyurl.com,194.67.28.241 +739,Sarita,Hertwell,shertwellki@sogou.com,123.103.85.60 +740,Drusi,Eastcott,deastcottkj@nytimes.com,235.97.253.211 +741,Cornall,Mullarkey,cmullarkeykk@imgur.com,77.162.225.76 +742,Luisa,Ullrich,lullrichkl@omniture.com,62.174.214.46 +743,Marvin,Broske,mbroskekm@scientificamerican.com,91.15.204.79 +744,Danielle,Astbery,dastberykn@businessinsider.com,72.29.253.119 +745,Stephanus,Conochie,sconochieko@wikispaces.com,198.170.198.88 +746,Olimpia,Essame,oessamekp@techcrunch.com,168.81.119.110 +747,Arney,Mann,amannkq@newsvine.com,245.63.210.99 +748,Haslett,Aspland,hasplandkr@simplemachines.org,6.76.138.82 +749,Lethia,Blind,lblindks@imageshack.us,129.151.127.39 +750,Clive,Emanuelli,cemanuellikt@homestead.com,229.194.26.101 +751,Shelbi,Beare,sbeareku@youku.com,175.95.178.52 +752,Faustina,Tackes,ftackeskv@soup.io,109.209.97.22 +753,Christie,Janus,cjanuskw@purevolume.com,219.158.228.112 +754,Marline,Reynoollds,mreynoolldskx@furl.net,106.236.16.155 +755,Iris,Dorrell,idorrellky@behance.net,73.227.163.147 +756,Gearard,Allgood,gallgoodkz@imageshack.us,149.113.235.145 +757,Davin,Battman,dbattmanl0@amazonaws.com,196.229.219.39 +758,Kennith,Hurtic,khurticl1@wiley.com,251.34.249.123 +759,Russell,Leckey,rleckeyl2@sitemeter.com,66.220.77.162 +760,Vivyan,Erik,verikl3@google.es,206.69.34.16 +761,Ewell,Carty,ecartyl4@army.mil,219.105.52.216 +762,Chiarra,Vanin,cvaninl5@yolasite.com,168.223.79.4 +763,Matilda,Pinnell,mpinnelll6@g.co,35.4.117.50 +764,Jimmie,Pitt,jpittl7@multiply.com,122.36.128.215 +765,Jerrold,Giles,jgilesl8@sun.com,171.75.33.7 +766,Aura,Blonden,ablondenl9@paginegialle.it,132.76.205.221 +767,Corny,Dartnall,cdartnallla@wordpress.com,67.66.120.225 +768,Lizzy,Dene,ldenelb@wix.com,88.71.136.27 +769,Pammie,Tuckey,ptuckeylc@dailymotion.com,13.114.234.200 +770,Gillan,Thornham,gthornhamld@gov.uk,130.73.184.25 +771,Bobby,Rebeiro,brebeirole@google.ca,59.84.193.224 +772,Morris,Wellings,mwellingslf@usgs.gov,8.93.132.103 +773,Henka,Dabbs,hdabbslg@patch.com,103.11.47.245 +774,Merwin,Bubbins,mbubbinslh@dailymotion.com,252.201.20.88 +775,Adorne,MacFadden,amacfaddenli@fc2.com,151.92.155.153 +776,Arlen,Orthmann,aorthmannlj@ftc.gov,146.140.43.202 +777,Devland,Wickens,dwickenslk@alibaba.com,12.124.30.158 +778,Janeczka,Ossenna,jossennall@squidoo.com,223.38.238.12 +779,Karil,Eaglen,keaglenlm@disqus.com,205.107.227.221 +780,Roger,Dumpleton,rdumpletonln@e-recht24.de,92.165.141.137 +781,Adora,Van Der Vlies,avandervlieslo@deliciousdays.com,107.101.120.65 +782,Terrel,Varvara,tvarvaralp@posterous.com,6.61.4.193 +783,Aloisia,Rainbow,arainbowlq@latimes.com,203.83.216.69 +784,Willis,Gedney,wgedneylr@discovery.com,192.112.210.170 +785,Muffin,Schaumaker,mschaumakerls@devhub.com,3.65.7.244 +786,Martyn,Beckson,mbecksonlt@japanpost.jp,173.129.27.218 +787,Julia,Gilhooly,jgilhoolylu@cnn.com,245.73.152.144 +788,Bartholemy,Presland,bpreslandlv@cbslocal.com,223.154.197.67 +789,Pancho,Cregg,pcregglw@homestead.com,196.81.72.189 +790,Petrina,Curle,pcurlelx@census.gov,224.163.155.80 +791,Ebony,Maundrell,emaundrellly@google.cn,45.2.253.163 +792,Brietta,Chastang,bchastanglz@xinhuanet.com,20.3.115.139 +793,Emile,Philippson,ephilippsonm0@wsj.com,143.150.227.75 +794,Gabrila,Houten,ghoutenm1@hexun.com,224.51.106.107 +795,Sheela,Klasing,sklasingm2@barnesandnoble.com,182.181.244.197 +796,Grenville,Dinan,gdinanm3@hubpages.com,84.100.158.174 +797,Ariana,Gidney,agidneym4@smh.com.au,243.210.79.166 +798,Donetta,Morter,dmorterm5@php.net,200.153.89.27 +799,Rosalinda,Greswell,rgreswellm6@taobao.com,37.66.42.192 +800,Corey,Greve,cgrevem7@bravesites.com,225.218.179.24 +801,Wanda,Lambal,wlambalm8@constantcontact.com,141.162.228.187 +802,Franz,Coppins,fcoppinsm9@thetimes.co.uk,39.161.2.61 +803,Tildy,Quinby,tquinbyma@indiatimes.com,235.11.214.76 +804,Bellina,Piddock,bpiddockmb@apache.org,161.8.126.26 +805,Mathilde,Denney,mdenneymc@purevolume.com,228.208.12.222 +806,Shae,Stapleford,sstaplefordmd@go.com,31.157.172.26 +807,Bernadine,Ortiger,bortigerme@purevolume.com,15.230.62.15 +808,Chen,Wyeth,cwyethmf@reuters.com,127.203.14.248 +809,Lynnet,Mebius,lmebiusmg@naver.com,242.246.161.85 +810,Monica,Traice,mtraicemh@hexun.com,111.72.54.67 +811,Bamby,Bernardi,bbernardimi@netvibes.com,117.13.43.223 +812,Thorny,Swarbrick,tswarbrickmj@topsy.com,40.220.155.44 +813,Bryna,Knock,bknockmk@slate.com,164.239.162.100 +814,Valaria,Jirka,vjirkaml@fema.gov,164.78.230.97 +815,Loria,Scarfe,lscarfemm@edublogs.org,79.110.28.105 +816,Christalle,Acory,cacorymn@csmonitor.com,192.39.189.63 +817,Natassia,Barbrook,nbarbrookmo@squarespace.com,162.97.237.82 +818,Roxy,Rojel,rrojelmp@sakura.ne.jp,14.230.72.57 +819,Drud,Dincke,ddinckemq@jimdo.com,164.163.79.162 +820,Bunnie,Lillie,blilliemr@hhs.gov,167.76.84.198 +821,Nathalia,Piesing,npiesingms@adobe.com,48.181.6.5 +822,Gian,Godlonton,ggodlontonmt@storify.com,170.135.16.245 +823,Genvieve,Accum,gaccummu@google.ru,32.123.201.150 +824,Nichole,Gee,ngeemv@arizona.edu,187.226.20.105 +825,Aldus,Sweetman,asweetmanmw@blogs.com,156.32.15.195 +826,Jo ann,Yeoman,jyeomanmx@hao123.com,98.137.164.28 +827,Corrine,Bonafacino,cbonafacinomy@mashable.com,226.8.92.141 +828,Elga,Aubery,eauberymz@wired.com,135.11.25.227 +829,Ettie,Mogra,emogran0@hubpages.com,104.104.13.216 +830,Hillary,Blacket,hblacketn1@youtu.be,146.68.142.149 +831,Blondell,Sevitt,bsevittn2@earthlink.net,62.26.144.186 +832,Sawyere,Danelet,sdaneletn3@buzzfeed.com,97.20.13.250 +833,Shena,Castagnaro,scastagnaron4@list-manage.com,38.7.233.64 +834,Keir,Mochan,kmochann5@house.gov,70.177.107.177 +835,Lovell,Beceril,lbeceriln6@tripadvisor.com,167.234.99.212 +836,Florinda,Parmiter,fparmitern7@europa.eu,193.203.140.42 +837,Thornton,Dyster,tdystern8@adobe.com,225.216.130.235 +838,Mildrid,Crennan,mcrennann9@hostgator.com,236.59.17.73 +839,Aubree,Hallihan,ahallihanna@nasa.gov,229.86.16.71 +840,Liva,Pettitt,lpettittnb@icq.com,185.157.127.113 +841,Valentin,Grob,vgrobnc@163.com,218.75.120.145 +842,Clark,Mousdall,cmousdallnd@bbb.org,130.169.222.221 +843,Dorothy,Corney,dcorneyne@scribd.com,244.73.141.178 +844,Torie,Badman,tbadmannf@alexa.com,215.112.15.225 +845,Marcelle,Kennerknecht,mkennerknechtng@cnn.com,119.122.7.42 +846,Rayna,Lamacraft,rlamacraftnh@comsenz.com,224.33.169.205 +847,Marmaduke,Tallboy,mtallboyni@timesonline.co.uk,207.39.45.105 +848,Harmonia,Paffot,hpaffotnj@digg.com,212.115.141.56 +849,Bord,Rosso,brossonk@icq.com,184.64.217.200 +850,Cornall,Immings,cimmingsnl@tripadvisor.com,108.72.96.252 +851,Cris,Fortnon,cfortnonnm@smugmug.com,181.191.217.186 +852,Ezra,Anfrey,eanfreynn@posterous.com,234.74.58.251 +853,Tania,Bruggeman,tbruggemanno@1688.com,167.26.98.82 +854,Jedidiah,Holby,jholbynp@sciencedirect.com,199.234.10.4 +855,Bernard,Hollerin,bhollerinnq@yale.edu,212.190.179.50 +856,Francesco,Abelovitz,fabelovitznr@fotki.com,154.39.144.57 +857,Lib,Gillbanks,lgillbanksns@prweb.com,250.123.87.142 +858,Giavani,Brumby,gbrumbynt@aol.com,242.169.197.61 +859,Chic,Carder,ccardernu@blogspot.com,244.68.133.118 +860,Lucine,Scurrell,lscurrellnv@smh.com.au,241.177.177.92 +861,Theresa,Houdhury,thoudhurynw@cocolog-nifty.com,234.77.132.96 +862,Kacie,Ratray,kratraynx@skype.com,3.97.166.243 +863,Fowler,Fenix,ffenixny@senate.gov,31.253.81.69 +864,Putnem,Munroe,pmunroenz@xing.com,59.66.177.29 +865,Ediva,Dominik,edominiko0@networkadvertising.org,71.242.120.164 +866,Web,Favell,wfavello1@arstechnica.com,225.38.194.178 +867,Larry,Geill,lgeillo2@xinhuanet.com,201.111.234.86 +868,Tamarra,Melanaphy,tmelanaphyo3@bbc.co.uk,165.78.76.237 +869,Dorian,Kinrade,dkinradeo4@amazon.de,3.152.33.75 +870,Hillier,Jacobsson,hjacobssono5@theglobeandmail.com,164.87.243.1 +871,Ewan,Rive,eriveo6@odnoklassniki.ru,35.248.130.63 +872,Aaren,Beany,abeanyo7@acquirethisname.com,114.88.68.209 +873,Devland,Harness,dharnesso8@dropbox.com,90.84.14.97 +874,Nada,Beckmann,nbeckmanno9@tumblr.com,31.65.246.138 +875,Clayborn,Sheeran,csheeranoa@baidu.com,142.99.177.6 +876,Katuscha,Linfield,klinfieldob@istockphoto.com,98.148.185.27 +877,Dani,Widdison,dwiddisonoc@intel.com,178.152.181.71 +878,Fidel,MacGillavery,fmacgillaveryod@nyu.edu,55.131.105.243 +879,Danielle,Revie,drevieoe@imageshack.us,58.55.9.16 +880,Saunders,Guillem,sguillemof@prweb.com,129.149.55.191 +881,Brucie,Springell,bspringellog@mozilla.com,202.46.30.66 +882,Lee,Menier,lmenieroh@sina.com.cn,145.161.94.135 +883,Beilul,Jatczak,bjatczakoi@techcrunch.com,20.170.73.202 +884,Donn,Ondracek,dondracekoj@jugem.jp,193.224.145.30 +885,Jocelyne,Ravenshear,jravenshearok@pagesperso-orange.fr,173.66.110.77 +886,Candida,Millichip,cmillichipol@huffingtonpost.com,123.136.19.240 +887,Leisha,MacMichael,lmacmichaelom@zimbio.com,39.228.254.54 +888,Farly,Rounsefull,frounsefullon@yahoo.co.jp,122.244.240.215 +889,Loleta,Swannick,lswannickoo@google.ca,89.56.96.205 +890,Lester,Ventam,lventamop@china.com.cn,27.209.125.66 +891,Annetta,Pancast,apancastoq@51.la,216.35.37.97 +892,Cindie,Torrecilla,ctorrecillaor@typepad.com,239.142.216.203 +893,Glyn,Igounet,gigounetos@goo.gl,116.167.125.10 +894,Olympie,Cullinane,ocullinaneot@paypal.com,225.2.50.215 +895,Shara,Panyer,spanyerou@nydailynews.com,211.97.133.207 +896,Sigmund,Dorrian,sdorrianov@state.gov,217.156.31.250 +897,Merilyn,Eastby,meastbyow@omniture.com,246.56.58.156 +898,Natasha,Jaquemar,njaquemarox@goodreads.com,195.106.120.250 +899,Gene,Heavens,gheavensoy@histats.com,214.73.215.76 +900,Menard,Calderonello,mcalderonellooz@xrea.com,35.65.10.57 +901,Elbert,Risson,erissonp0@geocities.com,101.152.215.19 +902,Vern,Sabatini,vsabatinip1@disqus.com,61.86.243.226 +903,Tommie,Sapauton,tsapautonp2@theglobeandmail.com,114.217.29.95 +904,Toddy,Da Costa,tdacostap3@walmart.com,158.128.77.31 +905,Beatriz,Dursley,bdursleyp4@independent.co.uk,235.46.171.234 +906,Ferdinand,McDarmid,fmcdarmidp5@ning.com,27.27.105.68 +907,Odette,Lilley,olilleyp6@nba.com,10.83.178.123 +908,Augusta,Niessen,aniessenp7@vinaora.com,185.98.39.208 +909,Dara,Benwell,dbenwellp8@europa.eu,234.235.158.146 +910,Kristan,Luckie,kluckiep9@yelp.com,200.90.57.225 +911,Ashlin,Carbin,acarbinpa@bbb.org,230.163.209.111 +912,Jere,Habishaw,jhabishawpb@issuu.com,244.236.152.43 +913,Page,Follows,pfollowspc@usda.gov,232.35.241.17 +914,Currey,Galiford,cgalifordpd@instagram.com,69.233.24.215 +915,Jan,Coan,jcoanpe@google.it,232.151.71.96 +916,Curr,Hollyland,chollylandpf@walmart.com,201.7.244.6 +917,Marni,Moxon,mmoxonpg@blogger.com,248.192.188.101 +918,Baron,Ryland,brylandph@youku.com,215.121.122.0 +919,Zena,Strutton,zstruttonpi@microsoft.com,85.122.33.201 +920,Ilaire,Geddis,igeddispj@home.pl,184.75.155.156 +921,Cindee,McMonies,cmcmoniespk@yolasite.com,180.242.214.212 +922,Brocky,Urvoy,burvoypl@timesonline.co.uk,12.32.241.187 +923,Roseanne,McGrail,rmcgrailpm@merriam-webster.com,128.172.7.169 +924,Elga,Stoyles,estoylespn@smugmug.com,47.50.177.20 +925,Reggis,Lovelock,rlovelockpo@slashdot.org,83.253.6.198 +926,Kameko,Harly,kharlypp@infoseek.co.jp,4.224.190.78 +927,Marjory,Keller,mkellerpq@examiner.com,0.193.71.169 +928,Temple,Suett,tsuettpr@last.fm,228.178.247.154 +929,Erroll,Douty,edoutyps@pbs.org,72.216.143.103 +930,Maritsa,Bruford,mbrufordpt@va.gov,228.7.185.49 +931,Cecilia,Breewood,cbreewoodpu@163.com,173.244.177.139 +932,Ryann,Twine,rtwinepv@bloglines.com,253.192.163.184 +933,Lyle,Mauger,lmaugerpw@goo.gl,16.187.217.51 +934,Vanna,Wix,vwixpx@comcast.net,4.80.90.125 +935,Chrissie,Nimmo,cnimmopy@edublogs.org,28.41.138.178 +936,Clara,Gilhooly,cgilhoolypz@google.it,112.121.211.73 +937,Timmi,Farens,tfarensq0@uiuc.edu,136.42.64.49 +938,Julius,Falshaw,jfalshawq1@omniture.com,181.177.178.201 +939,Corey,Dwire,cdwireq2@mlb.com,116.254.75.56 +940,Corny,MacLaughlin,cmaclaughlinq3@ow.ly,161.121.120.157 +941,Cecile,Toma,ctomaq4@rambler.ru,239.55.216.51 +942,Baxie,Ledur,bledurq5@reverbnation.com,151.135.162.234 +943,Beck,Hustings,bhustingsq6@businessinsider.com,43.246.219.111 +944,Robbert,Robrow,rrobrowq7@github.io,226.195.166.40 +945,Weider,Tie,wtieq8@buzzfeed.com,94.179.160.139 +946,Kacie,Merriton,kmerritonq9@smugmug.com,208.77.59.123 +947,Alano,Vannoni,avannoniqa@goo.ne.jp,6.164.27.66 +948,Symon,Prine,sprineqb@jalbum.net,17.57.160.81 +949,Barris,Pimerick,bpimerickqc@google.nl,210.253.171.62 +950,Dedie,Clell,dclellqd@sun.com,65.230.192.163 +951,Lida,Brager,lbragerqe@tinypic.com,212.228.89.59 +952,Darsie,McGarel,dmcgarelqf@businesswire.com,32.185.31.122 +953,Dorris,Ruslinge,druslingeqg@studiopress.com,38.235.239.50 +954,Whitby,Reddie,wreddieqh@canalblog.com,71.194.86.60 +955,Maxwell,Allridge,mallridgeqi@tuttocitta.it,23.88.163.47 +956,Royal,Gavey,rgaveyqj@xinhuanet.com,111.145.148.115 +957,Adena,Jump,ajumpqk@cnn.com,67.70.197.167 +958,Davidde,Naismith,dnaismithql@goodreads.com,26.172.219.88 +959,Ferdinande,Tellenbroker,ftellenbrokerqm@nsw.gov.au,207.198.43.114 +960,Nettle,Edwins,nedwinsqn@gnu.org,186.171.29.254 +961,Marmaduke,Kedward,mkedwardqo@booking.com,106.221.52.105 +962,Winifield,Dechelle,wdechelleqp@va.gov,144.93.20.66 +963,Armin,Gogay,agogayqq@va.gov,63.248.234.242 +964,Garrett,Skerritt,gskerrittqr@webnode.com,246.230.249.143 +965,Grady,Ditty,gdittyqs@about.com,75.222.1.233 +966,Clarance,Aysh,cayshqt@wordpress.org,186.92.62.46 +967,Kirbie,Punshon,kpunshonqu@github.io,210.103.228.24 +968,Dimitri,Derobert,dderobertqv@plala.or.jp,165.229.97.73 +969,Jaimie,Tetsall,jtetsallqw@yolasite.com,70.227.5.120 +970,Jewell,Tonks,jtonksqx@histats.com,177.139.25.89 +971,Raddie,Boone,rbooneqy@sogou.com,190.91.78.84 +972,Davita,Maddyson,dmaddysonqz@php.net,27.254.112.46 +973,Kamila,Philpin,kphilpinr0@merriam-webster.com,230.56.120.64 +974,Simon,Lawday,slawdayr1@miitbeian.gov.cn,41.34.62.115 +975,Ame,Sallnow,asallnowr2@nature.com,42.19.246.11 +976,Catina,Shier,cshierr3@g.co,92.168.225.102 +977,Dina,Shoebottom,dshoebottomr4@digg.com,30.254.218.176 +978,Alden,Bicheno,abichenor5@ucoz.com,152.230.77.68 +979,Doro,Burlingame,dburlingamer6@gizmodo.com,116.55.114.230 +980,Yasmeen,Goundrill,ygoundrillr7@bbb.org,64.231.202.114 +981,Lynea,Boniface,lbonifacer8@etsy.com,248.188.64.4 +982,Olympe,Myring,omyringr9@cdbaby.com,34.244.192.242 +983,Gnni,Swanton,gswantonra@csmonitor.com,93.129.19.228 +984,Jordana,Roja,jrojarb@yelp.com,37.182.170.218 +985,Latrina,Kubala,lkubalarc@behance.net,16.180.74.53 +986,Laura,Mound,lmoundrd@e-recht24.de,9.252.101.27 +987,Catharine,Taylor,ctaylorre@istockphoto.com,104.3.204.36 +988,Brunhilda,Dorian,bdorianrf@wikimedia.org,52.81.132.101 +989,Augy,Gwilt,agwiltrg@twitter.com,39.25.165.212 +990,Nola,Carde,ncarderh@chronoengine.com,79.228.210.36 +991,Trista,Kuzemka,tkuzemkari@dot.gov,154.36.63.90 +992,Agustin,Hyndman,ahyndmanrj@auda.org.au,95.78.72.191 +993,Sherwynd,McGonnell,smcgonnellrk@nasa.gov,14.160.79.162 +994,Con,Smeath,csmeathrl@telegraph.co.uk,141.72.39.41 +995,Abigale,Toone,atoonerm@dyndns.org,133.5.61.95 +996,Wenonah,MacArd,wmacardrn@guardian.co.uk,206.42.244.179 +997,Alanson,Fearns,afearnsro@omniture.com,246.91.72.145 +998,Tiphany,Murkus,tmurkusrp@umn.edu,200.218.3.234 +999,Winnah,Pock,wpockrq@godaddy.com,192.155.247.2 +1000,Ravi,Angear,rangearrr@umich.edu,6.67.79.92 diff --git a/fixtures/csv/employees.csv b/fixtures/csv/employees.csv new file mode 100644 index 000000000..4f0050fd1 --- /dev/null +++ b/fixtures/csv/employees.csv @@ -0,0 +1,51 @@ +id,first_name,last_name,email,ip_address +1,Tobye,Tallach,ttallach0@icq.com,159.80.54.64 +2,Bret,Auchterlonie,bauchterlonie1@t-online.de,63.179.228.179 +3,Chester,Leban,cleban2@arstechnica.com,109.23.123.220 +4,Weston,Venny,wvenny3@about.com,80.78.0.69 +5,Alejoa,Hassen,ahassen4@narod.ru,193.70.126.231 +6,Otes,Ioselevich,oioselevich5@pen.io,55.238.240.160 +7,Dolley,Mc Ilwrick,dmcilwrick6@vistaprint.com,225.224.151.67 +8,Cliff,Druitt,cdruitt7@earthlink.net,216.35.85.142 +9,Alfreda,Parysiak,aparysiak8@google.com.br,234.124.93.69 +10,Alfonso,Wotherspoon,awotherspoon9@cafepress.com,34.94.1.132 +11,Jemmy,Gavriel,jgavriela@wikispaces.com,69.13.142.245 +12,Ezechiel,Binion,ebinionb@princeton.edu,85.203.127.191 +13,Burk,Blowfelde,bblowfeldec@theglobeandmail.com,74.133.42.177 +14,Danette,Brealey,dbrealeyd@tumblr.com,249.85.157.243 +15,Brent,Collcutt,bcollcutte@twitpic.com,68.202.67.52 +16,Filbert,Wane,fwanef@mozilla.org,51.190.146.189 +17,Amory,Brewers,abrewersg@sciencedirect.com,147.155.225.194 +18,Giraud,Reen,greenh@themeforest.net,134.254.177.66 +19,Burtie,Siebert,bsieberti@reuters.com,47.194.48.217 +20,Adam,Maddick,amaddickj@theguardian.com,165.16.248.228 +21,Callean,Vernall,cvernallk@google.pl,243.145.198.197 +22,Olympie,Itzakovitz,oitzakovitzl@addthis.com,40.55.240.15 +23,Jacky,Emney,jemneym@cbslocal.com,216.72.80.81 +24,Isidoro,Novello,inovellon@symantec.com,153.171.11.150 +25,Kora,Liversedge,kliversedgeo@godaddy.com,131.126.97.242 +26,Salaidh,McMenamie,smcmenamiep@yolasite.com,228.231.31.219 +27,Corey,Dowdeswell,cdowdeswellq@a8.net,203.73.30.64 +28,Brodie,Holwell,bholwellr@china.com.cn,64.200.225.25 +29,Trudey,Ungerer,tungerers@friendfeed.com,122.82.88.41 +30,Doralin,Maxted,dmaxtedt@photobucket.com,37.78.14.199 +31,Maurie,Marklin,mmarklinu@gizmodo.com,22.181.178.6 +32,Hermann,Voase,hvoasev@gnu.org,155.126.157.84 +33,Fanchette,Callaway,fcallawayw@naver.com,121.161.80.246 +34,Sara-ann,Birdall,sbirdallx@hexun.com,35.64.166.83 +35,Harriot,Clipsham,hclipshamy@redcross.org,78.103.253.219 +36,Bonita,Woolway,bwoolwayz@artisteer.com,70.114.50.135 +37,Arleyne,MacComiskey,amaccomiskey10@oracle.com,80.22.221.216 +38,Ethelbert,Covill,ecovill11@blogs.com,52.66.186.124 +39,Irita,Knee,iknee12@skyrock.com,239.247.34.120 +40,Naoma,Janca,njanca13@washington.edu,189.63.152.60 +41,Kayne,Mizzen,kmizzen14@jalbum.net,84.133.236.10 +42,Estell,Stuckford,estuckford15@nationalgeographic.com,246.168.153.22 +43,Larine,Stack,lstack16@bravesites.com,197.176.195.68 +44,Rikki,Newbold,rnewbold17@omniture.com,27.245.43.243 +45,Romonda,Charer,rcharer18@ifeng.com,137.144.236.93 +46,Letizia,Monksfield,lmonksfield19@ebay.com,209.47.5.147 +47,Sinclare,McAreavey,smcareavey1a@cnn.com,251.250.216.206 +48,Athene,Haysham,ahaysham1b@ifeng.com,81.227.231.240 +49,Gale,Tracy,gtracy1c@squidoo.com,93.138.226.205 +50,Dareen,O'Shields,doshields1d@nymag.com,27.226.127.240 diff --git a/poetry.lock b/poetry.lock index 2f81946db..b261a08cc 100644 --- a/poetry.lock +++ b/poetry.lock @@ -68,42 +68,58 @@ files = [ [[package]] name = "backports-datetime-fromisoformat" -version = "2.0.1" +version = "2.0.2" description = "Backport of Python 3.11's datetime.fromisoformat" optional = false python-versions = ">3" files = [ - {file = "backports-datetime-fromisoformat-2.0.1.tar.gz", hash = "sha256:1b6afca7f47019c22df43062cde73c1af65fbdebc66520f352c690d52fd27127"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b739ccd3f36244f618f1fbc21d89894d9dc9d1d75a68762fcf917d433df38ae3"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:afd072ca32f2ca4e838e0f7b61a56168d98837ee9a182c567a49a834e07c2b98"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1a136d85f8b1db4747aa9e56a8caa0ba77c5c25b761b18e2169ea7b1b516f012"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d3a0579958ade7db62c8238163e05d46a4de61c99cebb40031ed7409a44d5f6"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:199df62af8feff5da0f4953fdc4a6994bcd7dbfe1db95901d8b93d05feda2ab5"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:afe32e60a471831058ede14fc226d9f14120e6dc67d66fbbd36e1724826ad70b"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:a1ba7e226a9694b20b713867f71b5ed2f662603c39875f14f968608d331fc96a"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:403f155deecbe94d43d0679a74abb5c9ac441422a9ececcfde030fb133865659"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4d2ee049997d3aa2e714489cb3c34864fb0f25786e7a4ff04ac9d82af58b453"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:20aa422769af9f72ca41d83238d4a3a008d6cd74bcff0a08befb11b0018d6aa5"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8ea8d85c3c9afa4ad51b6644d26516d43493f44c2131c12a2ba959433f4417f6"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:812b8c34e88a7d9615c604f1a0473a4e6d664aba94086bffb0c55627f9e3fb68"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:df5365930320b7a9d404cd6f7bc13988e28355e812aa42e21aa5c93443dcdd2e"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:fe3e3968c8dce4a44da2da81a6031e992a4ee62d130c2536696d215a4db2ce3c"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:36a4abb678ab0d6a1965d70e21e424bcf7a52086a7afb1c5f13243a3d44fa2dd"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96b7e806ade09a91d8ce195c197fc799d8fbe6b8ea9cde21f8a01f1090e51e33"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:002a77bd4f549ff5e80f1ef4a9b69982746dd6190786b90abe3d9c69c9883ce4"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:7b4ad0013a96b656ebf85079921ffb211623a1e28ff4981b3927690a2ed6df54"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:065421723e735ce8f68dbb4486f07562ce8556ed543ceaa012189b9aa209f303"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a4bf1bec08bc84095ee379202466c948fe12cff1442f58ee1a91fac4c5164c97"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1836aff09b8317e179cc7288856b61a450515d4b411f0ab723dc9692dfa5362e"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:815f85a581b142bcf34632c3ce26f7e21003f101ce88b5649631330e334bbe35"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a6986cfd3bc40b41465a6c54c18a30ca8110333d0b71f6062af136db11c8ff0"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:82741e732d71f78b44a8c3b95f33b3630e7bfbdb02e3fede3938cdf15d5b6a83"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4eac27abb51ee84e08d1dd1e908c16cae2078c217ff5b54092e6cb92107b4c6c"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:3b730d72061523be9600bcd281ef353f7f73b1df095adbbdc364aac8f430c44c"}, - {file = "backports_datetime_fromisoformat-2.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6e8f28f4a68539192473f427ed86794931502d186e2fffa1926250550c1335a"}, - {file = "backports_datetime_fromisoformat-2.0.1-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0cef151f1df77e413dc179607edb5bee11949ca5890e81c0bb742d96fec753fe"}, - {file = "backports_datetime_fromisoformat-2.0.1-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c28c95d6df2a44fa3540e18e484596c03e8ff7112e2f93b664f482fe3a88720b"}, - {file = "backports_datetime_fromisoformat-2.0.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91042b53de903e3725209ad6d69b6994ae4819614c0decd62d05dfea23f35e2b"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:09e70210726a70f3dd02ab9725bf2fcf469bda6d7554ea955588202e43e45b7d"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:ec971f93353e0ee957b3bbb037d58371331eedb9bee1b6676a866f8be97289a4"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:191b0d327838eb21818e94a66b89118c086ada8f77ac9e6161980ef486fe0cbb"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00441807d47dec7b89acafaa6570f561c43f5c7b7934d86f101b783a365a0f0c"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba0af8719e161ce2fa5f5e426cceef1ff04b611c69a61636c8a7bf25d687cfa0"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5afc32e1cdac293b054af04187d4adafcaceca99e12e5ff7807aee08074d85cb"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:70b044fdd274e32ece726d30b1728b4a21bc78fed0be6294091c6f04228b39ec"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6f493622b06e23e10646df7ea23e0d8350e8b1caccb5509ea82f8c3e64db32c7"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:55f59c88511dd15dabccf7916cbf23f8610203ac026454588084ddabf46127ee"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:65ca1f21319d78145456a70301396483ceebf078353641233494ea548ccc47db"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:79fc695afd66989f28e73de0ad91019abad789045577180dd482b6ede5bdca1e"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:019a87bd234734c2badb4c3e1ce4e807c5f2081f398a45a320e0c4919e5cee13"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea2b77e8810b691f1dd347d5c3d4ad829d18a9e81a04a0ebbc958d431967db31"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:944c987b777d7a81d97c94cdee2a8597bf6bdc94090094689456d3b02760cb73"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:30a2ab8c1fe4eb0013e7fcca29906fbe54e89f9120731ea71032b048dcf2fa17"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e23b602892827e15b1b4f94c61d4872b03b5d13417344d9a8daec80277244a32"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:64ec1ee18bc839847b067ab21a34a27e0d2cc4c6d041e4b05218cf6fed787740"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:54a3df9d6ae0e64b7677b9e3bba4fc7dce3ad56a3fa6bd66fb26796f8911de67"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp312-cp312-macosx_11_0_x86_64.whl", hash = "sha256:e54fa5663efcba6122bca037fd49220b7311e94cf6cc72e2f2a6f5d05c700bef"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00ecff906ed4eb19808d8e4f0b141c14a1963d3688ba318c9e00aa7da7f71301"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e85f1ad56e2bcb24408e420de5508be47e54b0912ebe1325134e71837ec23a08"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:36d5cbece09dff2a3f8f517f3cda64f2ccec56db07808714b1f122326cd76fbd"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d47e186dcc366e6063248730a137a90de0472b2aaa5047ef39104fcacbcbcdbe"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:3e9c81c6acc21953ffa9a627f15c4afcdbce6e456ca1d03e0d6dbf131429bd56"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5a2574f4b542b9679db2b8a786c779249d2d5057dad01f9433cfb79a921da92c"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:e62aa2eb6dc87a76a29b88601747925db439f793de7a8d2bbca4355e805088a6"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:964ec2d2c23908e96f1064560def1547b355e33e7c1ab418265e7e6242d25841"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8003f0cebeb6a5c47a1a871d0d09897d3dd54a9e1bcbe313f3e0463d470eed97"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c88e6660e1fb96476cb9df17d6f5002a2fb5c87546d62b2daa3642aa537e144"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:7124cda6acdc66755df916c1f52b4e2e9cad85591d40bcd4a80341144fd98b32"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c2b0a4a407479964b3f79fde080aad066fe64a350a3fcbb729d3c44b0db21240"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:5616519470bc8131429266a869c3c5eeee5817a9a8357e2dd9c521383b774d1b"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2eb563509f19e803dbbef3e4901d9553c9c3ea2b73c8d8fb85219fc57f16787a"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:d37d2f4238e0f412e56fe2c41e8e60bda93be0230d0ee846823b54254ccb95e0"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:7dcefbba71194c73b3b26593c2ea4ad254b19084d0eb83e98e2541651a692703"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:352f6b793cb402cc62c5b60ceab13d30c06fad1372869c716d4d07927b5c7c43"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7d6a21b482001a9ea44f277dc21d9fb6590e543146aaabe816407d1b87cf41b"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f97285e80ea192357380cfd2fb2dce056ec65672597172f3af549dcf5d019b1e"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a5cfff34bf80f0cd2771da88bd898be1fa60250d6f2dd9e4a59885dbcb7aa7c"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:ed392607d457b1ed50a88dcaf459e11d81c30a2f2d8dab818a1564de6897e76f"}, + {file = "backports_datetime_fromisoformat-2.0.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0f24d2c596991e39dfaa60c685b8c69bc9b1da77e9baf2c453882adeec483b"}, + {file = "backports_datetime_fromisoformat-2.0.2-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0083552588270acfaa31ac8de81b29786a1515d7608ff11ccdfcdffc2486212e"}, + {file = "backports_datetime_fromisoformat-2.0.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f367b7d7bc00aa6738c95eb48b90817f7f9bd9c61592ceedda29ece97983ee3f"}, + {file = "backports_datetime_fromisoformat-2.0.2-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e0914e357d8559f1821e46fd5ef5d3bd22ec568125ba9e680b6e70cdc352910"}, + {file = "backports_datetime_fromisoformat-2.0.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a94d5a7cf9cdee221b7721544f424c69747a04091cbff53aa6ae8454644b59f9"}, + {file = "backports_datetime_fromisoformat-2.0.2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a5e4c77a91db6f434c2eec46c0199d3617c19c812f0c74f7ed8e0f9779da9f0"}, + {file = "backports_datetime_fromisoformat-2.0.2.tar.gz", hash = "sha256:142313bde1f93b0ea55f20f5a6ea034f84c79713daeb252dc47d40019db3812f"}, ] [[package]] @@ -129,17 +145,17 @@ lxml = ["lxml"] [[package]] name = "boto3" -version = "1.35.16" +version = "1.35.20" description = "The AWS SDK for Python" optional = false python-versions = ">=3.8" files = [ - {file = "boto3-1.35.16-py3-none-any.whl", hash = "sha256:9c5b0ce4a25bb78d659478d1c552f1dbb7ff275aab3263bb41cdbef8bca28693"}, - {file = "boto3-1.35.16.tar.gz", hash = "sha256:9b96c210678cf430b16b49dee87db30f46044602bb9a605a465e1900f468a43f"}, + {file = "boto3-1.35.20-py3-none-any.whl", hash = "sha256:aaddbeb8c37608492f2c8286d004101464833d4c6e49af44601502b8b18785ed"}, + {file = "boto3-1.35.20.tar.gz", hash = "sha256:47e89d95964f10beee21ee723c3290874fddf364269bd97d200e8bfa9bf93a06"}, ] [package.dependencies] -botocore = ">=1.35.16,<1.36.0" +botocore = ">=1.35.20,<1.36.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.10.0,<0.11.0" @@ -148,13 +164,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "boto3-stubs" -version = "1.35.16" -description = "Type annotations for boto3 1.35.16 generated with mypy-boto3-builder 8.0.1" +version = "1.35.20" +description = "Type annotations for boto3 1.35.20 generated with mypy-boto3-builder 8.0.1" optional = false python-versions = ">=3.8" files = [ - {file = "boto3_stubs-1.35.16-py3-none-any.whl", hash = "sha256:7dee283bd3a5272fe759a43e22fc0658b5ee35679cb4932e33ad0c602f559b61"}, - {file = "boto3_stubs-1.35.16.tar.gz", hash = "sha256:39b77ede4914704c2ee5e97fd3486d6af26745cbedf6bc06f33c0ffadd0fb2c9"}, + {file = "boto3_stubs-1.35.20-py3-none-any.whl", hash = "sha256:c2a312a4c0c7c1553b1a17c0e40fb2bc077080d8c8714d5e327b61d02a482768"}, + {file = "boto3_stubs-1.35.20.tar.gz", hash = "sha256:ebc91c55532cd8623aee76223d323a5021c6d4381d3e6ded0a6054352d37b9c6"}, ] [package.dependencies] @@ -206,7 +222,7 @@ bedrock-agent = ["mypy-boto3-bedrock-agent (>=1.35.0,<1.36.0)"] bedrock-agent-runtime = ["mypy-boto3-bedrock-agent-runtime (>=1.35.0,<1.36.0)"] bedrock-runtime = ["mypy-boto3-bedrock-runtime (>=1.35.0,<1.36.0)"] billingconductor = ["mypy-boto3-billingconductor (>=1.35.0,<1.36.0)"] -boto3 = ["boto3 (==1.35.16)", "botocore (==1.35.16)"] +boto3 = ["boto3 (==1.35.20)", "botocore (==1.35.20)"] braket = ["mypy-boto3-braket (>=1.35.0,<1.36.0)"] budgets = ["mypy-boto3-budgets (>=1.35.0,<1.36.0)"] ce = ["mypy-boto3-ce (>=1.35.0,<1.36.0)"] @@ -556,13 +572,13 @@ xray = ["mypy-boto3-xray (>=1.35.0,<1.36.0)"] [[package]] name = "botocore" -version = "1.35.16" +version = "1.35.20" description = "Low-level, data-driven core of boto 3." optional = false python-versions = ">=3.8" files = [ - {file = "botocore-1.35.16-py3-none-any.whl", hash = "sha256:3564a980d95ff2861a6ca74313173d8778aa659125c63cf49c93ad23896c63b1"}, - {file = "botocore-1.35.16.tar.gz", hash = "sha256:1b48c94e8a4bbe23143f3d1c21a32b9ffc7476b651ef42371ab45d678f6dbfbc"}, + {file = "botocore-1.35.20-py3-none-any.whl", hash = "sha256:62412038f960691a299e60492f9ee7e8e75af563f2eca7f3640b3b54b8f5d236"}, + {file = "botocore-1.35.20.tar.gz", hash = "sha256:82ad8a73fcd5852d127461c8dadbe40bf679f760a4efb0dde8d4d269ad3f126f"}, ] [package.dependencies] @@ -578,13 +594,13 @@ crt = ["awscrt (==0.21.5)"] [[package]] name = "botocore-stubs" -version = "1.35.16" +version = "1.35.20" description = "Type annotations and code completion for botocore" optional = false python-versions = ">=3.8" files = [ - {file = "botocore_stubs-1.35.16-py3-none-any.whl", hash = "sha256:7181c2edf169a4dc89f9932cbd8eb82fb6b54ac59784685058f4c6ad180fce92"}, - {file = "botocore_stubs-1.35.16.tar.gz", hash = "sha256:bfdabe90607dbcb923042da5886eecdcc5839e7c976ccc2ccbd091dc690a633f"}, + {file = "botocore_stubs-1.35.20-py3-none-any.whl", hash = "sha256:f34d8908fa6a29d3dec57a373160d2defca3e2250d689864b23c9fea95669f97"}, + {file = "botocore_stubs-1.35.20.tar.gz", hash = "sha256:f5f6e2e846fa924d26a6c9c07d44ab0572db6d841f7be83591b60241cecd031f"}, ] [package.dependencies] @@ -594,6 +610,32 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.9\""} [package.extras] botocore = ["botocore"] +[[package]] +name = "cattrs" +version = "24.1.1" +description = "Composable complex class support for attrs and dataclasses." +optional = false +python-versions = ">=3.8" +files = [ + {file = "cattrs-24.1.1-py3-none-any.whl", hash = "sha256:ec8ce8fdc725de9d07547cd616f968670687c6fa7a2e263b088370c46d834d97"}, + {file = "cattrs-24.1.1.tar.gz", hash = "sha256:16e94a13f9aaf6438bd5be5df521e072b1b00481b4cf807bcb1acbd49f814c08"}, +] + +[package.dependencies] +attrs = ">=23.1.0" +exceptiongroup = {version = ">=1.1.1", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=4.1.0,<4.6.3 || >4.6.3", markers = "python_version < \"3.11\""} + +[package.extras] +bson = ["pymongo (>=4.4.0)"] +cbor2 = ["cbor2 (>=5.4.6)"] +msgpack = ["msgpack (>=1.0.5)"] +msgspec = ["msgspec (>=0.18.5)"] +orjson = ["orjson (>=3.9.2)"] +pyyaml = ["pyyaml (>=6.0)"] +tomlkit = ["tomlkit (>=0.11.8)"] +ujson = ["ujson (>=5.7.0)"] + [[package]] name = "certifi" version = "2024.8.30" @@ -1096,18 +1138,18 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc [[package]] name = "filelock" -version = "3.16.0" +version = "3.16.1" description = "A platform independent file lock." optional = false python-versions = ">=3.8" files = [ - {file = "filelock-3.16.0-py3-none-any.whl", hash = "sha256:f6ed4c963184f4c84dd5557ce8fece759a3724b37b80c6c4f20a2f63a4dc6609"}, - {file = "filelock-3.16.0.tar.gz", hash = "sha256:81de9eb8453c769b63369f87f11131a7ab04e367f8d97ad39dc230daa07e3bec"}, + {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, + {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, ] [package.extras] -docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.1.1)", "pytest (>=8.3.2)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.3)"] +docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] typing = ["typing-extensions (>=4.12.2)"] [[package]] @@ -1243,15 +1285,18 @@ test = ["objgraph", "psutil"] [[package]] name = "idna" -version = "3.8" +version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.6" files = [ - {file = "idna-3.8-py3-none-any.whl", hash = "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac"}, - {file = "idna-3.8.tar.gz", hash = "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603"}, + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + [[package]] name = "imagesize" version = "1.4.1" @@ -1862,6 +1907,22 @@ files = [ {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, ] +[[package]] +name = "platformdirs" +version = "4.3.5" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." +optional = false +python-versions = ">=3.8" +files = [ + {file = "platformdirs-4.3.5-py3-none-any.whl", hash = "sha256:00d4e6d17a9a452c95182c20862bb655c8dc51122e2a3afbc0bc7cfb7538b263"}, + {file = "platformdirs-4.3.5.tar.gz", hash = "sha256:227a0d45c85fc7a4a2147af40dab1ee3657f4b92e725e2cbc707949bfab78be3"}, +] + +[package.extras] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.11.2)"] + [[package]] name = "pluggy" version = "1.5.0" @@ -2222,6 +2283,36 @@ urllib3 = ">=1.21.1,<3" socks = ["PySocks (>=1.5.6,!=1.5.7)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] +[[package]] +name = "requests-cache" +version = "1.2.1" +description = "A persistent cache for python requests" +optional = false +python-versions = ">=3.8" +files = [ + {file = "requests_cache-1.2.1-py3-none-any.whl", hash = "sha256:1285151cddf5331067baa82598afe2d47c7495a1334bfe7a7d329b43e9fd3603"}, + {file = "requests_cache-1.2.1.tar.gz", hash = "sha256:68abc986fdc5b8d0911318fbb5f7c80eebcd4d01bfacc6685ecf8876052511d1"}, +] + +[package.dependencies] +attrs = ">=21.2" +cattrs = ">=22.2" +platformdirs = ">=2.5" +requests = ">=2.22" +url-normalize = ">=1.4" +urllib3 = ">=1.25.5" + +[package.extras] +all = ["boto3 (>=1.15)", "botocore (>=1.18)", "itsdangerous (>=2.0)", "pymongo (>=3)", "pyyaml (>=6.0.1)", "redis (>=3)", "ujson (>=5.4)"] +bson = ["bson (>=0.5)"] +docs = ["furo (>=2023.3,<2024.0)", "linkify-it-py (>=2.0,<3.0)", "myst-parser (>=1.0,<2.0)", "sphinx (>=5.0.2,<6.0.0)", "sphinx-autodoc-typehints (>=1.19)", "sphinx-automodapi (>=0.14)", "sphinx-copybutton (>=0.5)", "sphinx-design (>=0.2)", "sphinx-notfound-page (>=0.8)", "sphinxcontrib-apidoc (>=0.3)", "sphinxext-opengraph (>=0.9)"] +dynamodb = ["boto3 (>=1.15)", "botocore (>=1.18)"] +json = ["ujson (>=5.4)"] +mongodb = ["pymongo (>=3)"] +redis = ["redis (>=3)"] +security = ["itsdangerous (>=2.0)"] +yaml = ["pyyaml (>=6.0.1)"] + [[package]] name = "requests-mock" version = "1.12.1" @@ -2796,60 +2887,60 @@ test = ["pytest"] [[package]] name = "sqlalchemy" -version = "2.0.34" +version = "2.0.35" description = "Database Abstraction Library" optional = false python-versions = ">=3.7" files = [ - {file = "SQLAlchemy-2.0.34-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:95d0b2cf8791ab5fb9e3aa3d9a79a0d5d51f55b6357eecf532a120ba3b5524db"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:243f92596f4fd4c8bd30ab8e8dd5965afe226363d75cab2468f2c707f64cd83b"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ea54f7300553af0a2a7235e9b85f4204e1fc21848f917a3213b0e0818de9a24"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:173f5f122d2e1bff8fbd9f7811b7942bead1f5e9f371cdf9e670b327e6703ebd"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:196958cde924a00488e3e83ff917be3b73cd4ed8352bbc0f2989333176d1c54d"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bd90c221ed4e60ac9d476db967f436cfcecbd4ef744537c0f2d5291439848768"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-win32.whl", hash = "sha256:3166dfff2d16fe9be3241ee60ece6fcb01cf8e74dd7c5e0b64f8e19fab44911b"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-win_amd64.whl", hash = "sha256:6831a78bbd3c40f909b3e5233f87341f12d0b34a58f14115c9e94b4cdaf726d3"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7db3db284a0edaebe87f8f6642c2b2c27ed85c3e70064b84d1c9e4ec06d5d84"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:430093fce0efc7941d911d34f75a70084f12f6ca5c15d19595c18753edb7c33b"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79cb400c360c7c210097b147c16a9e4c14688a6402445ac848f296ade6283bbc"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb1b30f31a36c7f3fee848391ff77eebdd3af5750bf95fbf9b8b5323edfdb4ec"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8fddde2368e777ea2a4891a3fb4341e910a056be0bb15303bf1b92f073b80c02"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:80bd73ea335203b125cf1d8e50fef06be709619eb6ab9e7b891ea34b5baa2287"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-win32.whl", hash = "sha256:6daeb8382d0df526372abd9cb795c992e18eed25ef2c43afe518c73f8cccb721"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-win_amd64.whl", hash = "sha256:5bc08e75ed11693ecb648b7a0a4ed80da6d10845e44be0c98c03f2f880b68ff4"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:53e68b091492c8ed2bd0141e00ad3089bcc6bf0e6ec4142ad6505b4afe64163e"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bcd18441a49499bf5528deaa9dee1f5c01ca491fc2791b13604e8f972877f812"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:165bbe0b376541092bf49542bd9827b048357f4623486096fc9aaa6d4e7c59a2"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3330415cd387d2b88600e8e26b510d0370db9b7eaf984354a43e19c40df2e2b"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:97b850f73f8abbffb66ccbab6e55a195a0eb655e5dc74624d15cff4bfb35bd74"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7cee4c6917857fd6121ed84f56d1dc78eb1d0e87f845ab5a568aba73e78adf83"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-win32.whl", hash = "sha256:fbb034f565ecbe6c530dff948239377ba859420d146d5f62f0271407ffb8c580"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-win_amd64.whl", hash = "sha256:707c8f44931a4facd4149b52b75b80544a8d824162602b8cd2fe788207307f9a"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:24af3dc43568f3780b7e1e57c49b41d98b2d940c1fd2e62d65d3928b6f95f021"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e60ed6ef0a35c6b76b7640fe452d0e47acc832ccbb8475de549a5cc5f90c2c06"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:413c85cd0177c23e32dee6898c67a5f49296640041d98fddb2c40888fe4daa2e"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:25691f4adfb9d5e796fd48bf1432272f95f4bbe5f89c475a788f31232ea6afba"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:526ce723265643dbc4c7efb54f56648cc30e7abe20f387d763364b3ce7506c82"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-win32.whl", hash = "sha256:13be2cc683b76977a700948411a94c67ad8faf542fa7da2a4b167f2244781cf3"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-win_amd64.whl", hash = "sha256:e54ef33ea80d464c3dcfe881eb00ad5921b60f8115ea1a30d781653edc2fd6a2"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:43f28005141165edd11fbbf1541c920bd29e167b8bbc1fb410d4fe2269c1667a"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b68094b165a9e930aedef90725a8fcfafe9ef95370cbb54abc0464062dbf808f"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a1e03db964e9d32f112bae36f0cc1dcd1988d096cfd75d6a588a3c3def9ab2b"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:203d46bddeaa7982f9c3cc693e5bc93db476ab5de9d4b4640d5c99ff219bee8c"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ae92bebca3b1e6bd203494e5ef919a60fb6dfe4d9a47ed2453211d3bd451b9f5"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:9661268415f450c95f72f0ac1217cc6f10256f860eed85c2ae32e75b60278ad8"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-win32.whl", hash = "sha256:895184dfef8708e15f7516bd930bda7e50ead069280d2ce09ba11781b630a434"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-win_amd64.whl", hash = "sha256:6e7cde3a2221aa89247944cafb1b26616380e30c63e37ed19ff0bba5e968688d"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dbcdf987f3aceef9763b6d7b1fd3e4ee210ddd26cac421d78b3c206d07b2700b"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ce119fc4ce0d64124d37f66a6f2a584fddc3c5001755f8a49f1ca0a177ef9796"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a17d8fac6df9835d8e2b4c5523666e7051d0897a93756518a1fe101c7f47f2f0"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ebc11c54c6ecdd07bb4efbfa1554538982f5432dfb8456958b6d46b9f834bb7"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2e6965346fc1491a566e019a4a1d3dfc081ce7ac1a736536367ca305da6472a8"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:220574e78ad986aea8e81ac68821e47ea9202b7e44f251b7ed8c66d9ae3f4278"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-win32.whl", hash = "sha256:b75b00083e7fe6621ce13cfce9d4469c4774e55e8e9d38c305b37f13cf1e874c"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-win_amd64.whl", hash = "sha256:c29d03e0adf3cc1a8c3ec62d176824972ae29b67a66cbb18daff3062acc6faa8"}, - {file = "SQLAlchemy-2.0.34-py3-none-any.whl", hash = "sha256:7286c353ee6475613d8beff83167374006c6b3e3f0e6491bfe8ca610eb1dec0f"}, - {file = "sqlalchemy-2.0.34.tar.gz", hash = "sha256:10d8f36990dd929690666679b0f42235c159a7051534adb135728ee52828dd22"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:67219632be22f14750f0d1c70e62f204ba69d28f62fd6432ba05ab295853de9b"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4668bd8faf7e5b71c0319407b608f278f279668f358857dbfd10ef1954ac9f90"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb8bea573863762bbf45d1e13f87c2d2fd32cee2dbd50d050f83f87429c9e1ea"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f552023710d4b93d8fb29a91fadf97de89c5926c6bd758897875435f2a939f33"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:016b2e665f778f13d3c438651dd4de244214b527a275e0acf1d44c05bc6026a9"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7befc148de64b6060937231cbff8d01ccf0bfd75aa26383ffdf8d82b12ec04ff"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-win32.whl", hash = "sha256:22b83aed390e3099584b839b93f80a0f4a95ee7f48270c97c90acd40ee646f0b"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-win_amd64.whl", hash = "sha256:a29762cd3d116585278ffb2e5b8cc311fb095ea278b96feef28d0b423154858e"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e21f66748ab725ade40fa7af8ec8b5019c68ab00b929f6643e1b1af461eddb60"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8a6219108a15fc6d24de499d0d515c7235c617b2540d97116b663dade1a54d62"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:042622a5306c23b972192283f4e22372da3b8ddf5f7aac1cc5d9c9b222ab3ff6"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:627dee0c280eea91aed87b20a1f849e9ae2fe719d52cbf847c0e0ea34464b3f7"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4fdcd72a789c1c31ed242fd8c1bcd9ea186a98ee8e5408a50e610edfef980d71"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:89b64cd8898a3a6f642db4eb7b26d1b28a497d4022eccd7717ca066823e9fb01"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-win32.whl", hash = "sha256:6a93c5a0dfe8d34951e8a6f499a9479ffb9258123551fa007fc708ae2ac2bc5e"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-win_amd64.whl", hash = "sha256:c68fe3fcde03920c46697585620135b4ecfdfc1ed23e75cc2c2ae9f8502c10b8"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:eb60b026d8ad0c97917cb81d3662d0b39b8ff1335e3fabb24984c6acd0c900a2"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6921ee01caf375363be5e9ae70d08ce7ca9d7e0e8983183080211a062d299468"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8cdf1a0dbe5ced887a9b127da4ffd7354e9c1a3b9bb330dce84df6b70ccb3a8d"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93a71c8601e823236ac0e5d087e4f397874a421017b3318fd92c0b14acf2b6db"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e04b622bb8a88f10e439084486f2f6349bf4d50605ac3e445869c7ea5cf0fa8c"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1b56961e2d31389aaadf4906d453859f35302b4eb818d34a26fab72596076bb8"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-win32.whl", hash = "sha256:0f9f3f9a3763b9c4deb8c5d09c4cc52ffe49f9876af41cc1b2ad0138878453cf"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-win_amd64.whl", hash = "sha256:25b0f63e7fcc2a6290cb5f7f5b4fc4047843504983a28856ce9b35d8f7de03cc"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:f021d334f2ca692523aaf7bbf7592ceff70c8594fad853416a81d66b35e3abf9"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05c3f58cf91683102f2f0265c0db3bd3892e9eedabe059720492dbaa4f922da1"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:032d979ce77a6c2432653322ba4cbeabf5a6837f704d16fa38b5a05d8e21fa00"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:2e795c2f7d7249b75bb5f479b432a51b59041580d20599d4e112b5f2046437a3"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:cc32b2990fc34380ec2f6195f33a76b6cdaa9eecf09f0c9404b74fc120aef36f"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-win32.whl", hash = "sha256:9509c4123491d0e63fb5e16199e09f8e262066e58903e84615c301dde8fa2e87"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-win_amd64.whl", hash = "sha256:3655af10ebcc0f1e4e06c5900bb33e080d6a1fa4228f502121f28a3b1753cde5"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4c31943b61ed8fdd63dfd12ccc919f2bf95eefca133767db6fbbd15da62078ec"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a62dd5d7cc8626a3634208df458c5fe4f21200d96a74d122c83bc2015b333bc1"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0630774b0977804fba4b6bbea6852ab56c14965a2b0c7fc7282c5f7d90a1ae72"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d625eddf7efeba2abfd9c014a22c0f6b3796e0ffb48f5d5ab106568ef01ff5a"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ada603db10bb865bbe591939de854faf2c60f43c9b763e90f653224138f910d9"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c41411e192f8d3ea39ea70e0fae48762cd11a2244e03751a98bd3c0ca9a4e936"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-win32.whl", hash = "sha256:d299797d75cd747e7797b1b41817111406b8b10a4f88b6e8fe5b5e59598b43b0"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-win_amd64.whl", hash = "sha256:0375a141e1c0878103eb3d719eb6d5aa444b490c96f3fedab8471c7f6ffe70ee"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ccae5de2a0140d8be6838c331604f91d6fafd0735dbdcee1ac78fc8fbaba76b4"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2a275a806f73e849e1c309ac11108ea1a14cd7058577aba962cd7190e27c9e3c"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:732e026240cdd1c1b2e3ac515c7a23820430ed94292ce33806a95869c46bd139"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:890da8cd1941fa3dab28c5bac3b9da8502e7e366f895b3b8e500896f12f94d11"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c0d8326269dbf944b9201911b0d9f3dc524d64779a07518199a58384c3d37a44"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b76d63495b0508ab9fc23f8152bac63205d2a704cd009a2b0722f4c8e0cba8e0"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-win32.whl", hash = "sha256:69683e02e8a9de37f17985905a5eca18ad651bf592314b4d3d799029797d0eb3"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-win_amd64.whl", hash = "sha256:aee110e4ef3c528f3abbc3c2018c121e708938adeeff9006428dd7c8555e9b3f"}, + {file = "SQLAlchemy-2.0.35-py3-none-any.whl", hash = "sha256:2ab3f0336c0387662ce6221ad30ab3a5e6499aab01b9790879b6578fd9b8faa1"}, + {file = "sqlalchemy-2.0.35.tar.gz", hash = "sha256:e11d7ea4d24f0a262bccf9a7cd6284c976c5369dac21db237cff59586045ab9f"}, ] [package.dependencies] @@ -2998,24 +3089,24 @@ referencing = "*" [[package]] name = "types-pytz" -version = "2024.1.0.20240417" +version = "2024.2.0.20240913" description = "Typing stubs for pytz" optional = false python-versions = ">=3.8" files = [ - {file = "types-pytz-2024.1.0.20240417.tar.gz", hash = "sha256:6810c8a1f68f21fdf0f4f374a432487c77645a0ac0b31de4bf4690cf21ad3981"}, - {file = "types_pytz-2024.1.0.20240417-py3-none-any.whl", hash = "sha256:8335d443310e2db7b74e007414e74c4f53b67452c0cb0d228ca359ccfba59659"}, + {file = "types-pytz-2024.2.0.20240913.tar.gz", hash = "sha256:4433b5df4a6fc587bbed41716d86a5ba5d832b4378e506f40d34bc9c81df2c24"}, + {file = "types_pytz-2024.2.0.20240913-py3-none-any.whl", hash = "sha256:a1eebf57ebc6e127a99d2fa2ba0a88d2b173784ef9b3defcc2004ab6855a44df"}, ] [[package]] name = "types-pyyaml" -version = "6.0.12.20240808" +version = "6.0.12.20240917" description = "Typing stubs for PyYAML" optional = false python-versions = ">=3.8" files = [ - {file = "types-PyYAML-6.0.12.20240808.tar.gz", hash = "sha256:b8f76ddbd7f65440a8bda5526a9607e4c7a322dc2f8e1a8c405644f9a6f4b9af"}, - {file = "types_PyYAML-6.0.12.20240808-py3-none-any.whl", hash = "sha256:deda34c5c655265fc517b546c902aa6eed2ef8d3e921e4765fe606fe2afe8d35"}, + {file = "types-PyYAML-6.0.12.20240917.tar.gz", hash = "sha256:d1405a86f9576682234ef83bcb4e6fff7c9305c8b1fbad5e0bcd4f7dbdc9c587"}, + {file = "types_PyYAML-6.0.12.20240917-py3-none-any.whl", hash = "sha256:392b267f1c0fe6022952462bf5d6523f31e37f6cea49b14cee7ad634b6301570"}, ] [[package]] @@ -3076,6 +3167,20 @@ files = [ {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] +[[package]] +name = "url-normalize" +version = "1.4.3" +description = "URL normalization for Python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +files = [ + {file = "url-normalize-1.4.3.tar.gz", hash = "sha256:d23d3a070ac52a67b83a1c59a0e68f8608d1cd538783b401bc9de2c0fac999b2"}, + {file = "url_normalize-1.4.3-py2.py3-none-any.whl", hash = "sha256:ec3c301f04e5bb676d333a7fa162fa977ad2ca04b7e652bfc9fac4e405728eed"}, +] + +[package.dependencies] +six = "*" + [[package]] name = "urllib3" version = "1.26.20" @@ -3149,13 +3254,13 @@ files = [ [[package]] name = "zipp" -version = "3.20.1" +version = "3.20.2" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.20.1-py3-none-any.whl", hash = "sha256:9960cd8967c8f85a56f920d5d507274e74f9ff813a0ab8889a5b5be2daf44064"}, - {file = "zipp-3.20.1.tar.gz", hash = "sha256:c22b14cc4763c5a5b04134207736c107db42e9d3ef2d9779d465f5f1bcba572b"}, + {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, + {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, ] [package.extras] @@ -3177,4 +3282,4 @@ testing = ["pytest"] [metadata] lock-version = "2.0" python-versions = ">=3.8" -content-hash = "df14798dc3d9c7c2b19a5e551465e7f16ec88eda8a4df7fc5f5e9745c7b569ef" +content-hash = "e2e23042459ce09c426685f6dfd64ae78cb76539e87674e614215d76d7de1c9c" diff --git a/pyproject.toml b/pyproject.toml index 0bdd6df99..37651e4f8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -137,6 +137,7 @@ pytest-benchmark = ">=4.0.0" pytest-snapshot = ">=0.9.0" pytest-subtests = ">=0.13.1" pytz = ">=2022.2.1" +requests-cache = ">=1.2.1" requests-mock = ">=1.10.0" rfc3339-validator = ">=0.1.4" time-machine = ">=2.10.0" diff --git a/samples/sample_tap_countries/countries_streams.py b/samples/sample_tap_countries/countries_streams.py index c55775b0c..2b3ebfa90 100644 --- a/samples/sample_tap_countries/countries_streams.py +++ b/samples/sample_tap_countries/countries_streams.py @@ -10,6 +10,9 @@ import abc import sys +import typing as t + +from requests_cache.session import CachedSession from singer_sdk import typing as th from singer_sdk.streams.graphql import GraphQLStream @@ -31,6 +34,10 @@ class CountriesAPIStream(GraphQLStream, metaclass=abc.ABCMeta): url_base = "https://countries.trevorblades.com/" + def __init__(self, *args: t.Any, **kwargs: t.Any) -> None: + super().__init__(*args, **kwargs) + self._requests_session = CachedSession() + class CountriesStream(CountriesAPIStream): """Countries API stream.""" diff --git a/samples/sample_tap_csv/__init__.py b/samples/sample_tap_csv/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/samples/sample_tap_csv/__main__.py b/samples/sample_tap_csv/__main__.py new file mode 100644 index 000000000..91f500424 --- /dev/null +++ b/samples/sample_tap_csv/__main__.py @@ -0,0 +1,5 @@ +from __future__ import annotations + +from samples.sample_tap_csv.sample_tap_csv import SampleTapCSV + +SampleTapCSV.cli() diff --git a/samples/sample_tap_csv/client.py b/samples/sample_tap_csv/client.py new file mode 100644 index 000000000..a35fd3510 --- /dev/null +++ b/samples/sample_tap_csv/client.py @@ -0,0 +1,91 @@ +from __future__ import annotations + +import csv +import datetime +import os +import typing as t + +from singer_sdk import Stream +from singer_sdk.streams.core import REPLICATION_INCREMENTAL + +if t.TYPE_CHECKING: + from singer_sdk.helpers.types import Context, Record + from singer_sdk.tap_base import Tap + +SDC_META_FILEPATH = "_sdc_path" +SDC_META_MODIFIED_AT = "_sdc_modified_at" + + +def _to_datetime(value: float) -> str: + return datetime.datetime.fromtimestamp(value).astimezone() + + +class CSVStream(Stream): + """CSV stream class.""" + + def __init__( + self, + tap: Tap, + name: str | None = None, + *, + partitions: list[str] | None = None, + ) -> None: + # TODO(edgarmondragon): Build schema from CSV file. + schema = { + "type": ["object"], + "properties": { + SDC_META_FILEPATH: {"type": "string"}, + SDC_META_MODIFIED_AT: {"type": "string", "format": "date-time"}, + }, + "required": [], + "additionalProperties": {"type": "string"}, + } + super().__init__(tap, schema, name) + + # TODO(edgarrmondragon): Make this None if the filesytem does not support it. + self.replication_key = SDC_META_MODIFIED_AT + + self._partitions = partitions or [] + + @property + def partitions(self) -> list[Context]: + return self._partitions + + def _read_file(self, path: str) -> t.Iterable[Record]: # noqa: PLR6301 + # Make these configurable. + delimiter = "," + quotechar = '"' + escapechar = None + doublequote = True + lineterminator = "\r\n" + + # TODO: Use filesytem-specific file open method. + with open(path, encoding="utf-8") as file: # noqa: PTH123 + reader = csv.DictReader( + file, + delimiter=delimiter, + quotechar=quotechar, + escapechar=escapechar, + doublequote=doublequote, + lineterminator=lineterminator, + ) + yield from reader + + def get_records( + self, + context: Context | None, + ) -> t.Iterable[Record | tuple[Record, Context | None]]: + path: str = context[SDC_META_FILEPATH] + mtime = os.path.getmtime(path) # noqa: PTH204 + + if ( + self.replication_method is REPLICATION_INCREMENTAL + and (previous_bookmark := self.get_starting_timestamp(context)) + and _to_datetime(mtime) < previous_bookmark + ): + self.logger.info("File has not been modified since last read, skipping") + return + + for record in self._read_file(path): + record[SDC_META_MODIFIED_AT] = _to_datetime(mtime) + yield record diff --git a/samples/sample_tap_csv/sample_tap_csv.py b/samples/sample_tap_csv/sample_tap_csv.py new file mode 100644 index 000000000..94b904ab1 --- /dev/null +++ b/samples/sample_tap_csv/sample_tap_csv.py @@ -0,0 +1,106 @@ +"""Sample Tap for CSV files.""" + +from __future__ import annotations + +import enum +import functools +import os + +import singer_sdk.typing as th +from samples.sample_tap_csv.client import SDC_META_FILEPATH, CSVStream +from singer_sdk import Tap + +DEFAULT_MERGE_STREAM_NAME = "files" + + +def file_path_to_stream_name(file_path: str) -> str: + """Convert a file path to a stream name.""" + return os.path.basename(file_path).replace(".csv", "").replace(os.sep, "__") # noqa: PTH119 + + +class ReadMode(str, enum.Enum): + """Sync mode for the tap.""" + + one_stream_per_file = "one_stream_per_file" + merge = "merge" + + +class SampleTapCSV(Tap): + """Sample Tap for CSV files.""" + + name = "sample-tap-csv" + + config_jsonschema = th.PropertiesList( + th.Property( + "path", + th.StringType, + required=True, + description="Path to CSV files.", + ), + th.Property( + "read_mode", + th.StringType, + required=True, + description=( + "Use `one_stream_per_file` to read each file as a separate stream, or " + "`merge` to merge all files into a single stream." + ), + allowed_values=[ + ReadMode.one_stream_per_file, + ReadMode.merge, + ], + ), + th.Property( + "stream_name", + th.StringType, + required=True, + default=DEFAULT_MERGE_STREAM_NAME, + description="Name of the stream to use when `read_mode` is `merge`.", + ), + # TODO(edgarmondragon): Other configuration options. + ).to_dict() + + @functools.cached_property + def read_mode(self) -> ReadMode: + return ReadMode(self.config["read_mode"]) + + def discover_streams(self) -> list: + # TODO(edgarmondragon): Implement stream discovery, based on the configured path + # and read mode. + path: str = self.config[ + "path" + ] # a directory for now, but could be a glob pattern + + # One stream per file + if self.read_mode == ReadMode.one_stream_per_file: + if os.path.isdir(path): # noqa: PTH112 + return [ + CSVStream( + tap=self, + name=file_path_to_stream_name(member), + partitions=[{SDC_META_FILEPATH: os.path.join(path, member)}], # noqa: PTH118 + ) + for member in os.listdir(path) + if member.endswith(".csv") + ] + + msg = f"Path {path} is not a directory." + raise ValueError(msg) + + # Merge + if os.path.isdir(path): # noqa: PTH112 + contexts = [ + { + SDC_META_FILEPATH: os.path.join(path, member), # noqa: PTH118 + } + for member in os.listdir(path) + if member.endswith(".csv") + ] + return [ + CSVStream( + tap=self, + name=self.config["stream_name"], + partitions=contexts, + ) + ] + return [] diff --git a/singer_sdk/helpers/capabilities.py b/singer_sdk/helpers/capabilities.py index 3445c5bc6..76d7fcffb 100644 --- a/singer_sdk/helpers/capabilities.py +++ b/singer_sdk/helpers/capabilities.py @@ -365,9 +365,6 @@ class TargetCapabilities(CapabilitiesEnum): #: Fail safe for unknown JSON Schema types. DATATYPE_FAILSAFE = "datatype-failsafe" - #: Allow denesting complex properties. - RECORD_FLATTENING = "record-flattening" - #: Allow setting the target schema. TARGET_SCHEMA = "target-schema" diff --git a/singer_sdk/mapper.py b/singer_sdk/mapper.py index c222acc67..b613b78ec 100644 --- a/singer_sdk/mapper.py +++ b/singer_sdk/mapper.py @@ -14,7 +14,9 @@ import importlib.util import json import logging +import sys import typing as t +import warnings import simpleeval # type: ignore[import-untyped] @@ -515,6 +517,12 @@ def _init_functions_and_schema( # noqa: PLR0912, PLR0915, C901 self._eval_type(prop_def, default=default_type), ).to_dict(), ) + if "Faker" in prop_def: + warnings.warn( + "Class 'Faker' is deprecated in stream maps. Use instance methods, like 'fake.seed_instance.'", # noqa: E501 + DeprecationWarning, + stacklevel=2, + ) try: parsed_def: ast.Expr = ast.parse(prop_def).body[0] # type: ignore[assignment] stream_map_parsed.append((prop_key, prop_def, parsed_def)) diff --git a/singer_sdk/streams/core.py b/singer_sdk/streams/core.py index e65f577f2..c65bc87dc 100644 --- a/singer_sdk/streams/core.py +++ b/singer_sdk/streams/core.py @@ -880,6 +880,27 @@ def _generate_record_messages( time_extracted=utc_now(), ) + def _generate_batch_messages( + self, + encoding: BaseBatchFileEncoding, + manifest: list[str], + ) -> t.Generator[SDKBatchMessage, None, None]: + """Write out a BATCH message. + + Args: + encoding: The encoding to use for the batch. + manifest: A list of filenames for the batch. + + Yields: + Batch message objects. + """ + for stream_map in self.stream_maps: + yield SDKBatchMessage( + stream=stream_map.stream_alias, + encoding=encoding, + manifest=manifest, + ) + def _write_record_message(self, record: types.Record) -> None: """Write out a RECORD message. @@ -902,13 +923,9 @@ def _write_batch_message( encoding: The encoding to use for the batch. manifest: A list of filenames for the batch. """ - self._tap.write_message( - SDKBatchMessage( - stream=self.name, - encoding=encoding, - manifest=manifest, - ), - ) + for batch_message in self._generate_batch_messages(encoding, manifest): + self._tap.write_message(batch_message) + self._is_state_flushed = False def _log_metric(self, point: metrics.Point) -> None: diff --git a/singer_sdk/target_base.py b/singer_sdk/target_base.py index 22ad28176..8907b6201 100644 --- a/singer_sdk/target_base.py +++ b/singer_sdk/target_base.py @@ -462,14 +462,16 @@ def _process_batch_message(self, message_dict: dict) -> None: Args: message_dict: TODO """ - sink = self.get_sink(message_dict["stream"]) - + stream_name = message_dict["stream"] encoding = BaseBatchFileEncoding.from_dict(message_dict["encoding"]) - sink.process_batch_files( - encoding, - message_dict["manifest"], - ) - self._handle_max_record_age() + + for stream_map in self.mapper.stream_maps[stream_name]: + sink = self.get_sink(stream_map.stream_alias) + sink.process_batch_files( + encoding, + message_dict["manifest"], + ) + self._handle_max_record_age() # Sink drain methods diff --git a/singer_sdk/typing.py b/singer_sdk/typing.py index 31788989b..d4cfd46cd 100644 --- a/singer_sdk/typing.py +++ b/singer_sdk/typing.py @@ -69,7 +69,7 @@ if sys.version_info < (3, 13): from typing_extensions import deprecated else: - from typing import deprecated # noqa: ICN003 # pragma: no cover + from warnings import deprecated # pragma: no cover if t.TYPE_CHECKING: diff --git a/tests/core/test_mapper.py b/tests/core/test_mapper.py index 96c277436..a776689a1 100644 --- a/tests/core/test_mapper.py +++ b/tests/core/test_mapper.py @@ -657,6 +657,9 @@ def get_records(self, context): # noqa: ARG002 }, } + def get_batches(self, batch_config, context): # noqa: ARG002 + yield batch_config.encoding, ["file:///tmp/stream.json.gz"] + class MappedTap(Tap): """A tap with mapped streams.""" @@ -752,6 +755,19 @@ def discover_streams(self): "aliased_stream.jsonl", id="aliased_stream", ), + pytest.param( + {"mystream": {"__alias__": "aliased_stream"}}, + { + "flattening_enabled": False, + "flattening_max_depth": 0, + "batch_config": { + "encoding": {"format": "jsonl", "compression": "gzip"}, + "storage": {"root": "file:///tmp"}, + }, + }, + "aliased_stream_batch.jsonl", + id="aliased_stream_batch", + ), pytest.param( {}, {"flattening_enabled": True, "flattening_max_depth": 0}, @@ -837,6 +853,43 @@ def discover_streams(self): "fake_credit_card_number.jsonl", id="fake_credit_card_number", ), + pytest.param( + { + "mystream": { + "email": "Faker.seed(email) or fake.email()", + "__else__": None, + }, + }, + { + "flattening_enabled": False, + "flattening_max_depth": 0, + "faker_config": { + "locale": "en_US", + }, + }, + "fake_email_seed_class.jsonl", + id="fake_email_seed_class", + marks=pytest.mark.filterwarnings( + "default:Class 'Faker' is deprecated:DeprecationWarning" + ), + ), + pytest.param( + { + "mystream": { + "email": "fake.seed_instance(email) or fake.email()", + "__else__": None, + }, + }, + { + "flattening_enabled": False, + "flattening_max_depth": 0, + "faker_config": { + "locale": "en_US", + }, + }, + "fake_email_seed_instance.jsonl", + id="fake_email_seed_instance", + ), ], ) def test_mapped_stream( diff --git a/tests/samples/test_tap_csv.py b/tests/samples/test_tap_csv.py new file mode 100644 index 000000000..d7f3ae088 --- /dev/null +++ b/tests/samples/test_tap_csv.py @@ -0,0 +1,36 @@ +from __future__ import annotations + +import pytest + +from samples.sample_tap_csv.sample_tap_csv import SampleTapCSV +from singer_sdk.testing import get_tap_test_class + +_TestCSVMerge = get_tap_test_class( + tap_class=SampleTapCSV, + config={ + "path": "fixtures/csv", + "read_mode": "merge", + "stream_name": "people", + }, +) + + +class TestCSVMerge(_TestCSVMerge): + @pytest.mark.xfail(reason="Schema generation not implemented", strict=True) + def test_tap_stream_record_schema_matches_transformed_catalog(self, stream: str): + super().test_tap_stream_record_schema_matches_transformed_catalog(stream) + + +TestCSVOneStreamPerFile = get_tap_test_class( + tap_class=SampleTapCSV, + config={ + "path": "fixtures/csv", + "read_mode": "one_stream_per_file", + }, +) + + +class TestCSVOneStreamPerFile(TestCSVOneStreamPerFile): + @pytest.mark.xfail(reason="Schema generation not implemented", strict=True) + def test_tap_stream_record_schema_matches_transformed_catalog(self, stream: str): + super().test_tap_stream_record_schema_matches_transformed_catalog(stream) diff --git a/tests/snapshots/mapped_stream/aliased_stream_batch.jsonl b/tests/snapshots/mapped_stream/aliased_stream_batch.jsonl new file mode 100644 index 000000000..c28e8b9e2 --- /dev/null +++ b/tests/snapshots/mapped_stream/aliased_stream_batch.jsonl @@ -0,0 +1,5 @@ +{"type":"STATE","value":{}} +{"type":"SCHEMA","stream":"aliased_stream","schema":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object","required":["email"]},"key_properties":[]} +{"type":"BATCH","stream":"aliased_stream","encoding":{"format":"jsonl","compression":"gzip"},"manifest":["file:///tmp/stream.json.gz"]} +{"type":"STATE","value":{}} +{"type":"STATE","value":{"bookmarks":{"mystream":{}}}} diff --git a/tests/snapshots/mapped_stream/fake_email_seed_class.jsonl b/tests/snapshots/mapped_stream/fake_email_seed_class.jsonl new file mode 100644 index 000000000..e27c2e53f --- /dev/null +++ b/tests/snapshots/mapped_stream/fake_email_seed_class.jsonl @@ -0,0 +1,6 @@ +{"type":"STATE","value":{}} +{"type":"SCHEMA","stream":"mystream","schema":{"type":"object","properties":{"email":{"type":["string","null"]}}},"key_properties":[]} +{"type":"RECORD","stream":"mystream","record":{"email":"zwells@example.org"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"mystream","record":{"email":"josephcunningham@example.com"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"mystream","record":{"email":"lydia62@example.net"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"STATE","value":{"bookmarks":{"mystream":{}}}} diff --git a/tests/snapshots/mapped_stream/fake_email_seed_instance.jsonl b/tests/snapshots/mapped_stream/fake_email_seed_instance.jsonl new file mode 100644 index 000000000..e27c2e53f --- /dev/null +++ b/tests/snapshots/mapped_stream/fake_email_seed_instance.jsonl @@ -0,0 +1,6 @@ +{"type":"STATE","value":{}} +{"type":"SCHEMA","stream":"mystream","schema":{"type":"object","properties":{"email":{"type":["string","null"]}}},"key_properties":[]} +{"type":"RECORD","stream":"mystream","record":{"email":"zwells@example.org"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"mystream","record":{"email":"josephcunningham@example.com"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"mystream","record":{"email":"lydia62@example.net"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"STATE","value":{"bookmarks":{"mystream":{}}}}