Princisia vanwaerebeki  tricolore  1

Princisia vanwaerebeki tricolore

Blatte siffleuse vibranteBlatte siffleuse tricoloreVibrant Hisser

Princisia vanwaerebeki (forme tricolore)

OrdreBlattodea
FamilleBlaberidae
GenrePrincisia
Catégoriearthropode/blatte
Sous-catégorieblatte siffleuse, blatte géante de madagascar
Origine et Habitat

Pays d'origine

Madagascar (sud-est)

Biomes

  • Forêts humides
  • Zones arborées du sud-est malgache

Notes sur l'habitat

Espèce endémique du sud-est de Madagascar, retrouvée en populations localisées et parfois collectée pour le marché des invertébrés vivants.

Traits écologiques

NocturneTerricoleHygrophileOmbre tempérée à chaude
Morphologie

Taille adulte

Mâle : Jusqu'à 10 cm cm

Femelle : Legèrement plus petite que le mâle, mais aussi très grande (5,6–9 cm) cm

Les plus grands spécimens sont généralement mâles

Espérance de vie

En nature : Non spécifié ans

En captivité : Femelles : jusqu'à 3 ans ans

Caractéristiques distinctives

  • Pronotum plat, cornes plates et courtes, petite cuillère à l'avant du thorax
  • Couleur : motif noir, blanc voire orangé très prononcé (forme « tricolore » ou « black and white » à « tiger »)
  • Robustesse, corps épais
  • Absence d'ailes fonctionnelles (blatte brachyptère)
Bonnes pratiques
  • Monitor your axolotl's water quality regularly.
  • Provide plenty of hiding spots for comfort.
  • Avoid handling axolotls frequently, as they are sensitive to stress.
  • axolotl_image_url
  • https://cdn.britannica.com/39/179139-050-A8E6F7B3/Axolotl-salamander.jpg
  • citations
  • This information aggregates commonly available knowledge on axolotls and may not be verified by scientific sources. For comprehensive care, consult specialized books or veterinarians.
  • bibliography
  • https://www.britannica.com/animal/axolotl, https://www.axolotl.org/
  • Hermeneutic phenomenology and international practice
  • , 2010, Hermeneutic phenomenology and international practice, Basingstoke, Palgrave Macmillan, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 1111, 0, 0, 2010, 2010,# MERN Stack Mini Project Starter :vulcan_salute: [![HitCount](http://hits.dwyl.io/amandeepmittal/blogapp-mern-stack.svg)](http://hits.dwyl.io/amandeepmittal/blogapp-mern-stack) [![node: >=8](https://img.shields.io/node/v/gh-badges.svg?style=flat-square)](http://nodejs.org/download/) ![GitHub stars](https://img.shields.io/github/stars/amandeepmittal/blogapp-mern-stack.svg?style=social) [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=102)](https://github.com/amandeepmittal/blogapp-mern-stack/) ![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg) ![](https://img.shields.io/github/license/amandeepmittal/blogapp-mern-stack.svg) [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/amandeepmittal/blogapp-mern-stack/issues) [![Twitter URL](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Checkout%20this%20MERN%20stack%20starter%20project:&url=https%3A%2F%2Fgithub.com%2Famandeepmittal%2Fblogapp-mern-stack%2F&via=amanmittaldev) [![Follow on GitHub](https://img.shields.io/github/followers/amandeepmittal.svg?label=Follow%20on%20GitHub)](https://github.com/amandeepmittal) ![GitHub watchers](https://img.shields.io/github/watchers/amandeepmittal/blogapp-mern-stack.svg?style=social) [![Join the chat at https://gitter.im/blogapp-mern-stack/community](https://badges.gitter.im/blogapp-mern-stack/community.svg)](https://gitter.im/blogapp-mern-stack/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Tweet](https://img.shields.io/twitter/url/https/github.com/amandeepmittal/blogapp-mern-stack.svg?style=social)](https://twitter.com/intent/tweet?text=Checkout%20this%20MERN%20stack%20mini%20starter%20project:&url=https%3A%2F%2Fgithub.com%2Famandeepmittal%2Fblogapp-mern-stack%2F&via=amanmittaldev) [![Share on Linkedin](https://img.shields.io/badge/share-linkedin-blue.svg?style=flat-square)](https://www.linkedin.com/shareArticle?mini=true&url=https://www.github.com/amandeepmittal/blogapp-mern-stack&title=Mini%20Project%20Starter%20for%20MERN%20stack%20apps&summary=Mini%20project%20starter%20for%20MERN%20(MongoDB,%20Express.js,%20React,%20Node.js)%20stack%20web%20applications.%20Clone%20the%20repo,%20tweak%20it%20and%20start%20building%20your%20next%20project.&source=github.com/amandeepmittal/blogapp-mern-stack) [![Share on Facebook](https://img.shields.io/badge/Share-Facebook-blue.svg)](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fgithub.com%2Famandeepmittal%2Fblogapp-mern-stack) [![Slideshare](https://img.shields.io/badge/SlideShare-View-0077B5)](https://www.slideshare.net/amandeepmittal6/build-meetup-22-dec2018-136335804) [![YouTube](https://img.shields.io/badge/YouTube-View-FF0000.svg)](https://youtu.be/zs8jK4lFJ2k) [![Twitter Follow](https://img.shields.io/twitter/follow/amanmittaldev.svg?style=social)](https://twitter.com/amanmittaldev) [![Open Source Helpers](https://www.codetriage.com/amandeepmittal/blogapp-mern-stack/badges/users.svg)](https://www.codetriage.com/amandeepmittal/blogapp-mern-stack) [![saythanks](https://img.shields.io/badge/say-thanks-1EAEDB.svg?longCache=true&style=flat-square)](https://saythanks.io/to/amandeepmittal) [![npm](https://img.shields.io/npm/dm/express.svg)](https://github.com/amandeepmittal/blogapp-mern-stack/) ![MERN](https://img.shields.io/badge/MERN%20stack-starter-orange.svg) ![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/amandeepmittal/blogapp-mern-stack.svg) ![GitHub repo size in bytes](https://img.shields.io/github/repo-size/amandeepmittal/blogapp-mern-stack.svg) ![NODE Version](https://img.shields.io/badge/node-v8.9.4-brightgreen.svg) ![Known Vulnerabilities](https://snyk.io/test/github/amandeepmittal/blogapp-mern-stack/badge.svg) [![website: dev.to/amandeepmittal](https://img.shields.io/badge/blog-dev.to/amandeepmittal-orange.svg)](https://dev.to/amandeepmittal) ![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) [![Travis (.org)](https://img.shields.io/travis/amandeepmittal/blogapp-mern-stack.svg)](https://travis-ci.org/amandeepmittal/blogapp-mern-stack) [![Netlify Status](https://api.netlify.com/api/v1/badges/b50a2c93-ac2c-4c19-b7c4-b3c87e88f32e/deploy-status)](https://app.netlify.com/sites/blogapp-mern-blog/deploys) ![Dependencies](https://img.shields.io/david/amandeepmittal/blogapp-mern-stack.svg) ![First timers only](https://img.shields.io/badge/first--timers--only-friendly-blue.svg?style=flat-square) ![npm bundle size](https://img.shields.io/bundlephobia/min/jsx-parser.svg) ![GitHub contributors](https://img.shields.io/github/contributors/amandeepmittal/blogapp-mern-stack.svg) ![Twitter](https://img.shields.io/twitter/url/https/github.com/amandeepmittal/blogapp-mern-stack.svg?style=social) ![GitHub language count](https://img.shields.io/github/languages/count/amandeepmittal/blogapp-mern-stack.svg) ![Twitter](https://img.shields.io/twitter/follow/amanmittaldev?label=Follow%20on%20Twitter&style=social) ![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square) [![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-) [![GitHub top language](https://img.shields.io/github/languages/top/amandeepmittal/blogapp-mern-stack.svg)](https://github.com/amandeepmittal/blogapp-mern-stack/) ![GitHub stars](https://img.shields.io/github/stars/amandeepmittal/blogapp-mern-stack.svg?style=social) ![react](https://img.shields.io/badge/react-v16.8.6-grey.svg) ![mongod](https://img.shields.io/badge/mongoDB-v4.0.5-yellow.svg) ![node](https://img.shields.io/badge/node-v8.9.4-green.svg) ![npm](https://img.shields.io/badge/npm-v6.0.0-lightgrey.svg) ![GitHub languages](https://img.shields.io/github/languages/count/amandeepmittal/blogapp-mern-stack.svg) ![GitHub last commit](https://img.shields.io/github/last-commit/amandeepmittal/blogapp-mern-stack.svg) ![GitHub issues](https://img.shields.io/github/issues/amandeepmittal/blogapp-mern-stack.svg) ![npm](https://img.shields.io/npm/dt/jss.svg) ![GitHub forks](https://img.shields.io/github/forks/amandeepmittal/blogapp-mern-stack.svg?style=social) ![Twitter follow](https://img.shields.io/twitter/follow/amanmittaldev?style=social) ![GitHub stars](https://img.shields.io/github/stars/amandeepmittal/blogapp-mern-stack.svg?style=social) ![license](https://img.shields.io/github/license/amandeepmittal/blogapp-mern-stack.svg) ![GitHub contributors](https://img.shields.io/github/contributors/amandeepmittal/blogapp-mern-stack.svg) ![GitHub pull requests](https://img.shields.io/github/issues-pr/amandeepmittal/blogapp-mern-stack.svg) ![GitHub Release Date](https://img.shields.io/github/release-date/amandeepmittal/blogapp-mern-stack.svg) ![license](https://img.shields.io/github/license/mashape/apistatus.svg) ![GitHub top language](https://img.shields.io/github/languages/top/amandeepmittal/blogapp-mern-stack.svg) ![GitHub followers](https://img.shields.io/github/followers/amandeepmittal.svg?label=Follow%20on%20GitHub&style=social) ![GitHub stars](https://img.shields.io/github/stars/amandeepmittal/blogapp-mern-stack.svg?style=social) ![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square) ![MIT LICENSE](https://img.shields.io/github/license/amandeepmittal/blogapp-mern-stack.svg) ![GitHub release](https://img.shields.io/github/release/amandeepmittal/blogapp-mern-stack.svg) ![Say Thanks!](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg) [![Join the chat at https://gitter.im/blogapp-mern-stack/community](https://badges.gitter.im/blogapp-mern-stack/community.svg)](https://gitter.im/blogapp-mern-stack/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=102)](https://github.com/ellerbrock/open-source-badges/) ![Twitter follow](https://img.shields.io/twitter/follow/amanmittaldev?style=social) ![GitHub stars](https://img.shields.io/github/stars/amandeepmittal/blogapp-mern-stack.svg?style=social) ![jsx-ally](https://img.shields.io/badge/JSX%20Ally-Accessible-blue.svg) ![github-actions](https://github.com/amandeepmittal/blogapp-mern-stack/workflows/Node%20CI/badge.svg) ![Netlify Status](https://api.netlify.com/api/v1/badges/b50a2c93-ac2c-4c19-b7c4-b3c87e88f32e/deploy-status) ![GitHub All Releases](https://img.shields.io/github/downloads/amandeepmittal/blogapp-mern-stack/total.svg) ![Maintenance](https://img.shields.io/maintenance/yes/2020.svg) ![GitHub contributors](https://img.shields.io/github/contributors/amandeepmittal/blogapp-mern-stack.svg) ![npm](https://img.shields.io/npm/dm/express.svg) ![npm](https://img.shields.io/npm/dm/react.svg) ![npm](https://img.shields.io/npm/dm/mongodb.svg) ![GitHub](https://img.shields.io/github/license/amandeepmittal/blogapp-mern-stack.svg) ![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg) ![Twitter](https://img.shields.io/twitter/follow/amanmittaldev?style=social) ![last commit](https://img.shields.io/github/last-commit/amandeepmittal/blogapp-mern-stack.svg) ![GitHub stars](https://img.shields.io/github/stars/amandeepmittal/blogapp-mern-stack.svg?style=social) ![Twitter Follow](https://img.shields.io/twitter/follow/amanmittaldev.svg?style=social) ![Open Source Love svg1](https://badges.frapsoft.com/os/v1/open-source.svg?v=103) ![GitHub followers](https://img.shields.io/github/followers/amandeepmittal.svg?label=Follow%20on%20GitHub&style=social) ![Ask Me Anything !](https://img.shields.io/badge/Ask%20me-anything-1abc9c.svg) ![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square) ![MIT LICENSE](https://img.shields.io/github/license/amandeepmittal/blogapp-mern-stack.svg) ![GitHub contributors](https://img.shields.io/github/contributors/amandeepmittal/blogapp-mern-stack.svg) ![GitHub Release Date](https://img.shields.io/github/release-date/amandeepmittal/blogapp-mern-stack.svg) ![Travis (.org)](https://img.shields.io/travis/amandeepmittal/blogapp-mern-stack.svg) ![Dependencies](https://img.shields.io/david/amandeepmittal/blogapp-mern-stack.svg) ![Dependencies](https://img.shields.io/david/dev/amandeepmittal/blogapp-mern-stack.svg) ![GitHub top language](https://img.shields.io/github/languages/top/amandeepmittal/blogapp-mern-stack.svg) ![npm](https://img.shields.io/npm/dm/express.svg) ![npm](https://img.shields.io/npm/dm/react.svg) ![npm](https://img.shields.io/npm/dm/axios.svg) ![npm](https://img.shields.io/npm/dm/react-router-dom.svg) ![npm](https://img.shields.io/npm/dm/mongodb.svg) ![npm](https://img.shields.io/npm/dm/body-parser.svg) ![npm](https://img.shields.io/npm/dm/cookie-parser.svg) ![npm](https://img.shields.io/npm/dm/helmet.svg) ![npm](https://img.shields.io/npm/dm/cors.svg) ![npm](https://img.shields.io/npm/dm/express-jwt.svg) ![npm](https://img.shields.io/npm/dm/express-validator.svg) ![npm](https://img.shields.io/npm/dm/jsdom.svg) ![npm](https://img.shields.io/npm/dm/mongoose.svg) ![npm](https://img.shields.io/npm/dm/joi.svg) ![npm](https://img.shields.io/npm/dm/prop-types.svg)) ![npm](https://img.shields.io/npm/dm/react-router.svg) ![npm](https://img.shields.io/npm/dm/node-fetch.svg) ![npm](https://img.shields.io/npm/dm/jsdom.svg) ![npm](https://img.shields.io/npm/dm/express-jwt.svg) ![npm](https://img.shields.io/npm/dm/jsonwebtoken.svg) ![npm](https://img.shields.io/npm/dm/bcryptjs.svg) ![npm](https://img.shields.io/npm/dm/dotenv.svg) ![npm](https://img.shields.io/npm/dm/uuid.svg) ![npm](https://img.shields.io/npm/dm/multer.svg) ![npm](https://img.shields.io/npm/dm/sharp.svg) ![npm](https://img.shields.io/npm/dm/formidable.svg) ![npm](https://img.shields.io/npm/dm/fs-extra.svg) ![npm](https://img.shields.io/npm/dm/file-type.svg) ![npm](https://img.shields.io/npm/dm/mkdirp.svg) ![npm](https://img.shields.io/npm/dm/morgan.svg) ![npm](https://img.shields.io/npm/dm/react-google-login.svg) ![npm](https://img.shields.io/npm/dm/react-facebook-login.svg) ![npm](https://img.shields.io/npm/dm/react-share.svg) ![npm](https://img.shields.io/npm/dm/react-copy-to-clipboard.svg) ![npm](https://img.shields.io/npm/dm/faker.svg) ![npm](https://img.shields.io/npm/dm/chance.svg) ![npm](https://img.shields.io/npm/dm/mock.js.svg) ![npm](https://img.shields.io/npm/dm/chokidar.svg) ![npm](https://img.shields.io/npm/dm/lodash.svg) ![npm](https://img.shields.io/npm/dm/underscore.svg) ![npm](https://img.shields.io/npm/dm/rimraf.svg) ![npm](https://img.shields.io/npm/dm/gitignore.io.svg) ![npm](https://img.shields.io/npm/dm/enzyme.svg) ![npm](https://img.shields.io/npm/dm/react-testing-library.svg) ![npm](https://img.shields.io/npm/dm/expect.svg) ![npm](https://img.shields.io/npm/dm/mocha.svg) ![npm](https://img.shields.io/npm/dm/sinon.svg) ![npm](https://img.shields.io/npm/dm/chai.svg) ![npm](https://img.shields.io/npm/dm/nightmare.svg) ![npm](https://img.shields.io/npm/dm/tape.svg) ![npm](https://img.shields.io/npm/dm/jest.svg) ![npm](https://img.shields.io/npm/dm/ava.svg) ![npm](https://img.shields.io/npm/dm/ava.svg) ![npm](https://img.shields.io/npm/dm/jest.svg) ![npm](https://img.shields.io/npm/dm/nyc.svg) (![npm](https://img.shields.io/npm/dm/semantic-release.svg)) ![npm](https://img.shields.io/npm/dm/release-it.svg) ![npm](https://img.shields.io/npm/dm/lerna.svg) ![npm](https://img.shields.io/npm/dm/lint-staged.svg) ![npm](https://img.shields.io/npm/dm/husky.svg) ![npm](https://img.shields.io/npm/dm/prettier.svg) ![npm](https://img.shields.io/npm/dm/standard.svg) ![npm](https://img.shields.io/npm/dm/xo.svg) ![npm](https://img.shields.io/npm/dm/eslint.svg) ![npm](https://img.shields.io/npm/dm/stylelint.svg) ![npm](https://img.shields.io/npm/dm/flow-bin.svg) ![npm](https://img.shields.io/npm/dm/pre-commit.svg) ![npm](https://img.shields.io/npm/dm/circleci.svg) ![npm](https://img.shields.io/npm/dm/travis-ci.svg) ![npm](https://img.shields.io/npm/dm/codecov.svg) ![npm](https://img.shields.io/npm/dm/coveralls.svg) ![npm](https://img.shields.io/npm/dm/greenkeeper.svg) ![npm](https://img.shields.io/npm/dm/renovate.svg) ![npm](https://img.shields.io/npm/dm/dependabot.svg) ![npm](https://img.shields.io/npm/dm/npm-check-updates.svg) ![npm](https://img.shields.io/npm/dm/snyk.svg) ![npm](https://img.shields.io/npm/dm/lgtm.svg) ![npm](https://img.shields.io/npm/dm/commitlint.svg) ![npm](https://img.shields.io/npm/dm/commitizen.svg) ![npm](https://img.shields.io/npm/dm/cz-conventional-changelog.svg) ![npm](https://img.shields.io/npm/dm/standard-version.svg) ![npm](https://img.shields.io/npm/dm/conventional-changelog-cli.svg) ![npm](https://img.shields.io/npm/dm/gitmoji-cli.svg) ![npm](https://img.shields.io/npm/dm/gh-pages.svg) ![npm](https://img.shields.io/npm/dm/netlify-cli.svg) ![npm](https://img.shields.io/npm/dm/now.svg) ![npm](https://img.shields.io/npm/dm/heroku.svg) ![npm](https://img.shields.io/npm/dm/azure-cli.svg) ![npm](https://img.shields.io/npm/dm/firebase-tools.svg) ![npm](https://img.shields.io/npm/dm/surge.svg) ![npm](https://img.shields.io/npm/dm/zeit.svg) ![npm](https://img.shields.io/npm/dm/gcloud.svg) ![npm](https://img.shields.io/npm/dm/mongod.svg) ![npm](https://img.shields.io/npm/dm/mongodb-memory-server.svg) ![npm](https://img.shields.io/npm/dm/connect-mongo.svg) ![npm](https://img.shields.io/npm/dm/mongoose-faker.svg) ![npm](https://img.shields.io/npm/dm/mongo-seeding.svg) ![npm](https://img.shields.io/npm/dm/mongoose-paginate-v2.svg) ![npm](https://img.shields.io/npm/dm/mongoose-paginate.svg) ![npm](https://img.shields.io/npm/dm/passport.svg) ![npm](https://img.shields.io/npm/dm/passport-jwt.svg) ![npm](https://img.shields.io/npm/dm/passport-local.svg) ![npm](https://img.shields.io/npm/dm/passport-google-oauth20.svg) ![npm](https://img.shields.io/npm/dm/passport-facebook.svg) ![npm](https://img.shields.io/npm/dm/passport-twitter.svg) ![npm](https://img.shields.io/npm/dm/passport-github.svg) ![npm](https://img.shields.io/npm/dm/passport-linkedin-oauth2.svg) ![npm](https://img.shields.io/npm/dm/passport-reddit.svg) ![npm](https://img.shields.io/npm/dm/passport-instagram.svg) ![npm](https://img.shields.io/npm/dm/passport-youtube-v3.svg) ![npm](https://img.shields.io/npm/dm/next-auth.svg) ![npm](https://img.shields.io/npm/dm/auth0-js.svg) ![npm](https://img.shields.io/npm/dm/express-session.svg) ![npm](https://img.shields.io/npm/dm/connect-redis.svg) ![npm](https://img.shields.io/npm/dm/connect-flash.svg) ![npm](https://img.shields.io/npm/dm/next-connect.svg) ![npm](https://img.shields.io/npm/dm/express-handlebars.svg) ![npm](https://img.shields.io/npm/dm/pug.svg) ![npm](https://img.shields.io/npm/dm/ejs.svg) ![npm](https://img.shields.io/npm/dm/react-helmet.svg) ![npm](https://img.shields.io/npm/dm/jest-axe.svg) ![npm](https://img.shields.io/npm/dm/next-sitemap.svg) ![npm](https://img.shields.io/npm/dm/next-seo.svg) ![npm](https://img.shields.io/npm/dm/next-pwa.svg) ![npm](https://img.shields.io/npm/dm/next-offline.svg) ![npm](https://img.shields.io/npm/dm/next-compose-plugins.svg) ![npm](https://img.shields.io/npm/dm/next-routes.svg) ![npm](https://img.shields.io/npm/dm/next-i18next.svg) ![npm](https://img.shields.io/npm/dm/next-transpile-modules.svg) ![npm](https://img.shields.io/npm/dm/next-config.svg) ![npm](https://img.shields.io/npm/dm/next-fonts.svg) ![npm](https://img.shields.io/npm/dm/next-optimized-images.svg) ![npm](https://img.shields.io/npm/dm/next-images.svg) ![npm](https://img.shields.io/npm/dm/next-svgr.svg) ![npm](https://img.shields.io/npm/dm/next-transpile-modules.svg) ![npm](https://img.shields.io/npm/dm/next-session.svg) ![npm](https://img.shields.io/npm/dm/next-connect.svg) ![npm](https://img.shields.io/npm/dm/next-cookies.svg) ![npm](https://img.shields.io/npm/dm/next-fonts.svg) ![npm](https://img.shields.io/npm/dm/next-bundle-analyzer.svg) ![npm](https://img.shields.io/npm/dm/next-compose-plugins.svg) ![npm](https://img.shields.io/npm/dm/next-redux-wrapper.svg) ![npm](https://img.shields.io/npm/dm/next-redux-saga.svg) ![npm](https://img.shields.io/npm/dm/next-redux-thunk.svg) ![npm](https://img.shields.io/npm/dm/next-absolute-import.svg) ![npm](https://img.shields.io/npm/dm/next-transpile-modules.svg) ![npm](https://img.shields.io/npm/dm/next-routes.svg) ![npm](https://img.shields.io/npm/dm/next-i18next.svg) ![npm](https://img.shields.io/npm/dm/next-transpile-modules.svg) ![npm](https://img.shields.io/npm/dm/next-config.svg) ![npm](https://img.shields.io/npm/dm/next-fonts.svg) ![npm](https://img.shields.io/npm/dm/next-optimized-images.svg) ![npm](https://img.shields.io/npm/dm/next-images.svg) ![npm](https://img.shields.io/npm/dm/next-svgr.svg) ![npm](https://img.shields.io/npm/dm/next-transpile-modules.svg) ![npm](https://img.shields.io/npm/dm/next-session.svg) ![npm](https://img.shields.io/npm/dm/next-connect.svg) ![npm](https://img.shields.io/npm/dm/next-cookies.svg) ![npm](https://img.shields.io/npm/dm/next-fonts.svg) ![npm](https://img.shields.io/npm/dm/next-bundle-analyzer.svg) ![npm](https://img.shields.io/npm/dm/next-compose-plugins.svg) ![npm](https://img.shields.io/npm/dm/next-redux-wrapper.svg) ![npm](https://img.shields.io/npm/dm/next-redux-saga.svg) ![npm](https://img.shields.io/npm/dm/next-redux-thunk.svg) ![npm](https://img.shields.io/npm/dm/next-absolute-import.svg) ![npm](https://img.shields.io/npm/dm/now.svg) ![npm](https://img.shields.io/npm/dm/vercel.svg) ![npm](https://img.shields.io/npm/dm/netlify-cli.svg) ![npm](https://img.shields.io/npm/dm/heroku.svg) ![npm](https://img.shields.io/npm/dm/firebase-tools.svg) ![npm](https://img.shields.io/npm/dm/surge.svg) ![npm](https://img.shields.io/npm/dm/gcloud.svg) ![npm](https://img.shields.io/npm/dm/azure-functions-core-tools.svg) ![npm](https://img.shields.io/npm/dm/serverless.svg) ![npm](https://img.shields.io/npm/dm/aws-sdk.svg) ![npm](https://img.shields.io/npm/dm/dynamodb.svg) ![npm](https://img.shields.io/npm/dm/lambda.svg) ![npm](https://img.shields.io/npm/dm/codedeploy.svg) ![npm](https://img.shields.io/npm/dm/cloudformation.svg) ![npm](https://img.shields.io/npm/dm/serverless-offline.svg) ![npm](https://img.shields.io/npm/dm/serverless-http.svg) ![npm](https://img.shields.io/npm/dm/serverless-dynamodb-local.svg) ![npm](https://img.shields.io/npm/dm/serverless-offline.svg) ![npm](https://img.shields.io/npm/dm/serverless-nextjs.svg) ![npm](https://img.shields.io/npm/dm/serverless-api-gateway.svg) ![npm](https://img.shields.io/npm/dm/serverless-step-functions.svg) ![npm](https://img.shields.io/npm/dm/serverless-express.svg) ![npm](https://img.shields.io/npm/dm/cloudflare-workers.svg) ![npm](https://img.shields.io/npm/dm/vercel-cli.svg) ![npm](https://img.shields.io/npm/dm/now-cli.svg) ![npm](https://img.shields.io/npm/dm/netlify-lambda.svg) ![npm](https://img.shields.io/npm/dm/serverless-webpack.svg) ![npm](https://img.shields.io/npm/dm/webpack-cli.svg) ![npm](https://img.shields.io/npm/dm/babel-loader.svg) ![npm](https://img.shields.io/npm/dm/babel-core.svg) ![npm](https://img.shields.io/npm/dm/html-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/style-loader.svg) ![npm](https://img.shields.io/npm/dm/css-loader.svg) ![npm](https://img.shields.io/npm/dm/sass-loader.svg) ![npm](https://img.shields.io/npm/dm/postcss-loader.svg) ![npm](https://img.shields.io/npm/dm/less-loader.svg) ![npm](https://img.shields.io/npm/dm/mini-css-extract-plugin.svg) ![npm](https://img.shields.io/npm/dm/url-loader.svg) ![npm](https://img.shields.io/npm/dm/file-loader.svg) ![npm](https://img.shields.io/npm/dm/image-webpack-loader.svg) ![npm](https://img.shields.io/npm/dm/webpack-dev-server.svg) ![npm](https://img.shields.io/npm/dm/webpack-dev-middleware.svg) ![npm](https://img.shields.io/npm/dm/webpack-hot-middleware.svg) ![npm](https://img.shields.io/npm/dm/uglifyjs-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/terser-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/progress-bar-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/webpack-bundle-analyzer.svg) ![npm](https://img.shields.io/npm/dm/compression-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/broswer-sync-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/define-plugin.svg) ![npm](https://img.shields.io/npm/dm/provide-plugin.svg) ![npm](https://img.shields.io/npm/dm/angular-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/workbox-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/promise-queue.svg) ![npm](https://img.shields.io/npm/dm/fs-extra.svg) ![npm](https://img.shields.io/npm/dm/fs-extra-promise.svg) ![npm](https://img.shields.io/npm/dm/make-dir.svg) ![npm](https://img.shields.io/npm/dm/del.svg) ![npm](https://img.shields.io/npm/dm/rimraf.svg) ![npm](https://img.shields.io/npm/dm/chokidar.svg) ![npm](https://img.shields.io/npm/dm/copy-files-from-to.svg) ![npm](https://img.shields.io/npm/dm/copy-dir.svg) ![npm](https://img.shields.io/npm/dm/copy-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/copyfiles.svg) ![npm](https://img.shields.io/npm/dm/cpy.svg) ![npm](https://img.shields.io/npm/dm/recursive-copy.svg) ![npm](https://img.shields.io/npm/dm/ncp.svg) ![npm](https://img.shields.io/npm/dm/glob.svg) ![npm](https://img.shields.io/npm/dm/micromatch.svg) ![npm](https://img.shields.io/npm/dm/minimatch.svg) ![npm](https://img.shields.io/npm/dm/glob-require.svg) ![npm](https://img.shields.io/npm/dm/fast-glob.svg) ![npm](https://img.shields.io/npm/dm/node-glob.svg) ![npm](https://img.shields.io/npm/dm/glob-promise.svg) ![npm](https://img.shields.io/npm/dm/cross-env.svg) ![npm](https://img.shields.io/npm/dm/env-cmd.svg) ![npm](https://img.shields.io/npm/dm/node-env-run.svg) ![npm](https://img.shields.io/npm/dm/concurrently.svg) ![npm](https://img.shields.io/npm/dm/npm-run-all.svg) ![npm](https://img.shields.io/npm/dm/start-server-and-test.svg) ![npm](https://img.shields.io/npm/dm/nodemon.svg) ![npm](https://img.shields.io/npm/dm/watchmen.svg) ![npm](https://img.shields.io/npm/dm/forever.svg) ![npm](https://img.shields.io/npm/dm/pm2.svg) ![npm](https://img.shields.io/npm/dm/generate-package-json-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/package-json.svg) ![npm](https://img.shields.io/npm/dm/license-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/terser.svg) ![npm](https://img.shields.io/npm/dm/uglify-js.svg) ![npm](https://img.shields.io/npm/dm/clean-css.svg) ![npm](https://img.shields.io/npm/dm/cssnano.svg) ![npm](https://img.shields.io/npm/dm/css-minimizer-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/esbuild.svg) ![npm](https://img.shields.io/npm/dm/swc.svg) ![npm](https://img.shields.io/npm/dm/parcel.svg) ![npm](https://img.shields.io/npm/dm/rollup.svg) ![npm](https://img.shields.io/npm/dm/snowpack.svg) ![npm](https://img.shields.io/npm/dm/vite.svg) ![npm](https://img.shields.io/npm/dm/microbundle.svg) ![npm](https://img.shields.io/npm/dm/create-react-app.svg) ![npm](https://img.shields.io/npm/dm/nexe.svg) ![npm](https://img.shields.io/npm/dm/pkg.svg) ![npm](https://img.shields.io/npm/dm/vercel.svg) ![npm](https://img.shields.io/npm/dm/netlify-cli.svg) ![npm](https://img.shields.io/npm/dm/serverless.svg) ![npm](https://img.shields.io/npm/dm/heroku.svg) ![npm](https://img.shields.io/npm/dm/firebase-tools.svg) ![npm](https://img.shields.io/npm/dm/surge.svg) ![npm](https://img.shields.io/npm/dm/now-cli.svg) ![npm](https://img.shields.io/npm/dm/gitignore.io.svg) ![npm](https://img.shields.io/npm/dm/editorconfig.svg) ![npm](https://img.shields.io/npm/dm/prettier.svg) ![npm](https://img.shields.io/npm/dm/standard.svg) ![npm](https://img.shields.io/npm/dm/xo.svg) ![npm](https://img.shields.io/npm/dm/eslint.svg) ![npm](https://img.shields.io/npm/dm/stylelint.svg) ![npm](https://img.shields.io/npm/dm/flow-bin.svg) ![npm](https://img.shields.io/npm/dm/typescript.svg) ![npm](https://img.shields.io/npm/dm/@babel/core.svg) ![npm](https://img.shields.io/npm/dm/babel-loader.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-macros.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-styled-components.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-remove-console.svg) ![npm](https://img.shields.io/npm/dm/babel-preset-env.svg) ![npm](https://img.shields.io/npm/dm/babel-preset-react.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-emotion.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-graphql-tag.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-module-resolver.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-istanbul.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-lodash.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-react-jsx.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-dynamic-import.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-decorators-legacy.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-optional-chaining.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-nullish-coalescing-operator.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-react-inline-elements.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-react-jsx-source.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-react-jsx-self.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-remove-debugger.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-runtime.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-strict-mode.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-undefined-to-void.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-vue-jsx.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-syntax-jsx.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-strict-mode.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-strict-mode.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-strict-mode.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-strict-mode.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-class-properties.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-object-rest-spread.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-optional-chaining.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-nullish-coalescing-operator.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-export-default-from.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-export-namespace-from.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-logical-assignment-operators.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-numeric-separator.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-throw-expressions.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-partial-application.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-pipeline-operator.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-do-expressions.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-function-bind.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-decorators.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-function-sent.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-private-methods.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-optional-catch-binding.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-unicode-property-regex.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-json-strings.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-async-generator-functions.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-dynamic-import.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-numeric-separator.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-class-properties.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-object-rest-spread.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-optional-chaining.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-nullish-coalescing-operator.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-throw-expressions.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-logical-assignment-operators.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-partial-application.svg) ![npm](https://img.shields.io/npm/d m/@babel/plugin-proposal-export-default-from.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-dynamic-import.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-json-strings.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-export-namespace-from.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-optional-catch-binding.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-logical-assignment-operators.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-nullish-coalescing-operator.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-pipeline-operator.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-partial-application.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-throw-expressions.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-do-expressions.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-function-bind.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-function-sent.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-class-properties.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-private-methods.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-optional-catch-binding.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-unicode-property-regex.svg) ![npm](https://img.shields.io/npm/dm/@babel/plugin-proposal-json-strings.svg) ![npm](https://img.shields.io/npm/dm/@babel/preset-typescript.svg) ![npm](https://img.shields.io/npm/dm/@babel/preset-react.svg) ![npm](https://img.shields.io/npm/dm/@babel/preset-env.svg) ![npm](https://img.shields.io/npm/dm/@babel/preset-flow.svg) ![npm](https://img.shields.io/npm/dm/@babel/core.svg) ![npm](https://img.shields.io/npm/dm/babel-loader.svg) ![npm](https://img.shields.io/npm/dm/webpack-cli.svg) ![npm](https://img.shields.io/npm/dm/html-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/style-loader.svg) ![npm](https://img.shields.io/npm/dm/css-loader.svg) ![npm](https://img.shields.io/npm/dm/sass-loader.svg) ![npm](https://img.shields.io/npm/dm/less-loader.svg) ![npm](https://img.shields.io/npm/dm/postcss-loader.svg) ![npm](https://img.shields.io/npm/dm/mini-css-extract-plugin.svg) ![npm](https://img.shields.io/npm/dm/url-loader.svg) ![npm](https://img.shields.io/npm/dm/file-loader.svg) ![npm](https://img.shields.io/npm/dm/image-webpack-loader.svg) ![npm](https://img.shields.io/npm/dm/webpack-dev-server.svg) ![npm](https://img.shields.io/npm/dm/webpack-dev-middleware.svg) ![npm](https://img.shields.io/npm/dm/webpack-hot-middleware.svg) ![npm](https://img.shields.io/npm/dm/uglifyjs-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/terser-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/progress-bar-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/webpack-bundle-analyzer.svg) ![npm](https://img.shields.io/npm/dm/compression-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/broswer-sync-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/define-plugin.svg) ![npm](https://img.shields.io/npm/dm/provide-plugin.svg) ![npm](https://img.shields.io/npm/dm/workbox-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/angular-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/@mdx-js/loader.svg) ![npm](https://img.shields.io/npm/dm/@mdx-js/mdx.svg) ![npm](https://img.shields.io/npm/dm/mdx-js.svg) ![npm](https://img.shields.io/npm/dm/react-docgen-typescript-loader.svg) ![npm](https://img.shields.io/npm/dm/svgo-loader.svg) ![npm](https://img.shields.io/npm/dm/json-loader.svg) ![npm](https://img.shields.io/npm/dm/yaml-loader.svg) ![npm](https://img.shields.io/npm/dm/toml-loader.svg) ![npm](https://img.shields.io/npm/dm/mjml-loader.svg) ![npm](https://img.shields.io/npm/dm/markdown-loader.svg) ![npm](https://img.shields.io/npm/dm/raw-loader.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-macros.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-styled-components.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-transform-remove-console.svg) ![npm](https://img.shields.io/npm/dm/babel-preset-env.svg) ![npm](https://img.shields.io/npm/dm/babel-preset-react.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-emotion.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-graphql-tag.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-module-resolver.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-istanbul.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-lodash.svg) ![npm](https://img.shields.io/npm/dm/babel.js.svg) ![npm](https://img.shields.io/npm/dm/babel-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/webpack-aliyun-oss.svg) ![npm](https://img.shields.io/npm/dm/webpack-bundle-tracker.svg) ![npm](https://img.shields.io/npm/dm/webpack-merge.svg) ![npm](https://img.shields.io/npm/dm/webpack-node-externals.svg) ![npm](https://img.shields.io/npm/dm/webpack-shell-plugin.svg) ![npm](https://img.shields.io/npm/dm/webpack-shell-plugin-next.svg) ![npm](https://img.shields.io/npm/dm/snowpack.svg) ![npm](https://img.shields.io/npm/dm/vite.svg) ![npm](https://img.shields.io/npm/dm/microbundle.svg) ![npm](https://img.shields.io/npm/dm/rollup.svg) ![npm](https://img.shields.io/npm/dm/parcel-bundler.svg) ![npm](https://img.shields.io/npm/dm/terser.svg) ![npm](https://img.shields.io/npm/dm/uglify-js.svg) ![npm](https://img.shields.io/npm/dm/clean-css.svg) ![npm](https://img.shields.io/npm/dm/cssnano.svg) ![npm](https://img.shields.io/npm/dm/esbuild.svg) ![npm](https://img.shields.io/npm/dm/swc.svg) ![npm](https://img.shields.io/npm/dm/postcss.svg) ![npm](https://img.shields.io/npm/dm/autoprefixer.svg) ![npm](https://img.shields.io/npm/dm/postcss-flexbugs-fixes.svg) ![npm](https://img.shields.io/npm/dm/postcss-preset-env.svg) ![npm](https://img.shields.io/npm/dm/cssnano.svg) ![npm](https://img.shields.io/npm/dm/postcss-reporter.svg) ![npm](https://img.shields.io/npm/dm/postcss-pxtorem.svg) ![npm](https://img.shields.io/npm/dm/postcss-px-to-viewport.svg) ![npm](https://img.shields.io/npm/dm/postcss-px2rem.svg) ![npm](https://img.shields.io/npm/dm/postcss-env-function.svg) ![npm](https://img.shields.io/npm/dm/postcss-pxtorem.svg) ![npm](https://img.shields.io/npm/dm/stylelint.svg) ![npm](https://img.shields.io/npm/dm/stylelint-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/eslint.svg) ![npm](https://img.shields.io/npm/dm/eslint-loader.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-import.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-react.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-react-hooks.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-jsx-a11y.svg) ![npm](https://img.shields.io/npm/dm/eslint-config-prettier.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-prettier.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-node.svg) ![npm](https://img.shields.io/npm/dm/eslint-config-airbnb-base.svg) ![npm](https://img.shields.io/npm/dm/eslint-config-standard.svg) ![npm](https://img.shields.io/npm/dm/eslint-config-google.svg) ![npm](https://img.shields.io/npm/dm/eslint-config-airbnb-typescript.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-typescript.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-compat.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-jest.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-cypress.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-ava.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-mocha.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-chai-expect.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-cypress.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-jasmine.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-jest-formatting.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-jest-dom.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-testing-library.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-promise.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-sonarjs.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-no-loops.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-security.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-security-node.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-spellcheck.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-unicorn.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-redux-saga.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-react-native.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-react-redux.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-angular.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-vue.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-jsdoc.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-html.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-markdown.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-json.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-yaml.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-toml.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-rxjs.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-prefer-arrow.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-no-secrets.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-no-unsafe-svg.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-no-jsx-literal.md) ![npm](https://img.shields.io/npm/dm/eslint-plugin-no-class.svg) ![npm](https://img.shields.io/npm/dm/prettier.svg) ![npm](https://img.shields.io/npm/dm/eslint-config-prettier.svg) ![npm](https://img.shields.io/npm/dm/eslint-plugin-prettier.svg) ![npm](https://img.shields.io/npm/dm/prettier-eslint.svg) ![npm](https://img.shields.io/npm/dm/prettier-eslint-cli.svg) ![npm](https://img.shields.io/npm/dm/prettier-plugin-svelte.svg) ![npm](https://img.shields.io/npm/dm/prettier-solidity.svg) ![npm](https://img.shields.io/npm/dm/prettier-plugin-tailwindcss.svg) ![npm](https://img.shields.io/npm/dm/prettier-standard.svg) ![npm](https://img.shields.io/npm/dm/prettier-stylelint.svg) ![npm](https://img.shields.io/npm/dm/standard.svg) ![npm](https://img.shields.io/npm/dm/semi-standard.svg) ![npm](https://img.shields.io/npm/dm/xo.svg) ![npm](https://img.shields.io/npm/dm/zuul.svg) ![npm](https://img.shields.io/npm/dm/stylelint.svg) ![npm](https://img.shields.io/npm/dm/stylelint-config-standard.svg) ![npm](https://img.shields.io/npm/dm/stylelint-config-recommended.svg) ![npm](https://img.shields.io/npm/dm/stylelint-config-prettier.svg) ![npm](https://img.shields.io/npm/dm/stylelint-bem.svg) ![npm](https://img.shields.io/npm/dm/stylelint-a11y.svg) ![npm](https://img.shields.io/npm/dm/stylelint-config-recess-order.svg) ![npm](https://img.shields.io/npm/dm/stylelint-prettier.svg) ![npm](https://img.shields.io/npm/dm/stylelint-scss.svg) ![npm](https://img.shields.io/npm/dm/stylelint-webpack-plugin.svg) ![npm](https://img.shields.io/npm/dm/stylelint-order.svg) ![npm](https://img.shields.io/npm/dm/stylelint-declaration-strict-value.svg) ![npm](https://img.shields.io/npm/dm/stylelint-csstree-validator.svg) ![npm](https://img.shields.io/npm/dm/stylelint-config-css-modules.svg) ![npm](https://img.shields.io/npm/dm/stylelint-config-idiomatic-css.svg) ![npm](https://img.shields.io/npm/dm/stylelint-config-styled-components.svg) ![npm](https://img.shields.io/npm/dm/stylelint-config-sass-guidelines.svg) ![npm](https://img.shields.io/npm/dm/stylelint-config-standard-scss.svg) ![npm](https://img.shields.io/npm/dm/stylelint-config-prettier-scss.svg) ![npm](https://img.shields.io/npm/dm/stylelint-prettier-scss.svg) ![npm](https://img.shields.io/npm/dm/stylelint-config-prettier-styled-components.svg) ![npm](https://img.shields.io/npm/dm/stylelint-prettier-styled-components.svg) ![npm](https://img.shields.io/npm/dm/stylelint-config-strict-scss.svg) ![npm](https://img.shields.io/npm/dm/stylelint-prettier-css-in-js.svg) ![npm](https://img.shields.io/npm/dm/stylelint-prettier.svg) ![npm](https://img.shields.io/npm/dm/stylelint-config-primer.svg) ![npm](https://img.shields.io/npm/dm/stylelint-config-twitter.svg) ![npm](https://img.shields.io/npm/dm/stylelint-config-team-gantt.svg) ![npm](https://img.shields.io/npm/dm/stylelint-config-hudochenkov.svg) ![npm](https://img.shields.io/npm/dm/stylelint-config-prettier.svg) ![npm](https://img.shields.io/npm/dm/styled-components.svg) ![npm](https://img.shields.io/npm/dm/emotion.svg) ![npm](https://img.shields.io/npm/dm/@emotion/styled.svg) ![npm](https://img.shields.io/npm/dm/@emotion/css.svg) ![npm](https://img.shields.io/npm/dm/@emotion/react.svg) ![npm](https://img.shields.io/npm/dm/@emotion/core.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-styled-components.svg) ![npm](https://img.shields.io/npm/dm/babel-plugin-emotion.svg) ![npm](https://img.shields.io/npm/dm/styled-jsx.svg) ![npm](https://img.shields.io/npm/dm/css-modules.svg) ![npm](https://img.shields.io/npm/dm/postcss-modules.svg) ![npm](https://img.shields.io/npm/dm/styled-system.svg) ![npm](https://img.shields.io/npm/dm/styled-breadcrumbs.svg) ![npm](https://img.shields.io/npm/dm/tailwindcss.svg) ![npm](https://img.shields.io/npm/dm/twin.macro.svg) ![npm](https://img.shields.io/npm/dm/theme-ui.svg) ![npm](https://img.shields.io/npm/dm/rebass.svg) ![npm](https://img.shields.io/npm/dm/radium.svg) ![npm](https://img.shields.io/npm/dm/aphrodite.svg) ![npm](https://img.shields.io/npm/dm/fela.svg) ![npm](https://img.shields.io/npm/dm/jss.svg) ![npm](https://img.shields.io/npm/dm/react-jss.svg) ![npm](https://img.shields.io/npm/dm/glamorous.svg) ![npm](https://img.shields.io/npm/dm/glamor.svg) ![npm](https://img.shields.io/npm/dm/react-bootstrap.svg) ![npm](https://img.shields.io/npm/dm/material-ui.svg) ![npm](https://img.shields.io/npm/dm/@material-ui/core.svg) ![npm](https://img.shields.io/npm/dm/@mui/material.svg) ![npm](https://img.shields.io/npm/dm/@material-ui/icons.svg) ![npm](https://img.shields.io/npm/dm/@material-ui/lab.svg) ![npm](https://img.shields.io/npm/dm/reactstrap.svg) ![npm](https://img.shields.io/npm/dm/bootstrap.svg) ![npm](https://img.shields.io/npm/dm/blueprint.svg) ![npm](https://img.shields.io/npm/dm/seamless-immutable.svg) ![npm](https://img.shields.io/npm/dm/immer.svg) ![npm](https://img.shields.io/npm/dm/immutable.svg) ![npm](https://img.shields.io/npm/dm/faker.svg) ![npm](https://img.shields.io/npm/dm/chance.svg) ![npm](https://img.shields.io/npm/dm/mock.js.svg) ![npm](https://img.shields.io/npm/dm/jsdom.svg) ![npm](https://img.shields.io/npm/dm/enzyme.svg) ![npm](https://img.shields.io/npm/dm/react-test-renderer.svg) ![npm](https://img.shields.io/npm/dm/react-testing-library.svg) ![npm](https://img.shields.io/npm/dm/testcafe.svg) ![npm](https://img.shields.io/npm/dm/cypress.svg) ![npm](https://img.shields.io/npm/dm/jest.svg) ![npm](https://img.shields.io/npm/dm/mocha.svg) ![npm](https://img.shields.io/npm/dm/chai.svg) ![npm](https://img.shields.io/npm/dm/sinon.svg) ![npm](https://img.shields.io/npm/dm/ava.svg) ![npm](https://img.shields.io/npm/dm/tape.svg) ![npm](https://img.shields.io/npm/dm/nightmare.svg) ![npm](https://img.shields.io(npm/dm/playwright.svg) ![npm](https://img.shields.io(npm/dm/puppeteer.svg) ![npm](https://img.shields.io(npm/dm/lighthouse.svg) ![npm](https://img.shields.io(npm/dm/cross-env.svg) ![npm](https://img.shields.io(npm/dm/dotenv.svg) ![npm](https://img.shields.io(npm/dm/dotenv-expand.svg) ![npm](https://img.shields.io(npm/dm/node-env-run.svg) ![npm](https://img.shields.io(npm/dm/env-cmd.svg) ![npm](https://img.shields.io(npm/dm/concurrently.svg) ![npm](https://img.shields.io(npm/dm/npm-run-all.svg) ![npm](https://img.shields.io(npm/dm/start-server-and-test.svg) ![npm](https://img.shields.io(npm/dm/nodemon.svg) ![npm](https://img.shields.io(npm/dm/pm2.svg) ![npm](https://img.shields.io(npm/dm/forever.svg) ![npm](https://img.shields.io(npm/dm/watchmen.svg) ![npm](https://img.shields.io(npm/dm/rimraf.svg) ![npm](https://img.shields.io(npm/dm/make-dir.svg) ![npm](https://img.shields.io(npm/dm/del.svg) ![npm](https://img.shields.io(npm/dm/fs-extra.svg) ![npm](https://img.shields.io(npm/dm/fs-extra-promise.svg) ![npm](https://img.shields.io(npm/dm/copy-files-from-to.svg) ![npm](https://img.shields.io(npm/dm/copy-dir.svg) ![npm](https://img.shields.io(npm/dm/copy-webpack-plugin.svg) ![npm](https://img.shields.io(npm/dm/copyfiles.svg) ![npm](https://img.shields.io(npm/dm/cpy.svg) ![npm](https://img.shields.io(npm/dm/recursive-copy.svg) ![npm](https://img.shields.io(npm/dm/ncp.svg) ![npm](https://img.shields.io(npm/dm/chokidar.svg) ![npm](https://img.shields.io(npm/dm/morris.svg) ![npm](https://img.shields.io(npm/dm/commitlint.svg) ![npm](https://img.shields.io(npm/dm/commitizen.svg) ![npm](https://img.shields.io(npm/dm/cz-conventional-changelog.svg) ![npm](https://img.shields.io(npm/dm/standard-version.svg) ![npm](https://img.shields.io(npm/dm/conventional-changelog-cli.svg) ![npm](https://img.shields.io(npm/dm/gitmoji-cli.svg) ![npm](https://img.shields.io(npm/dm/semantic-release.svg) ![npm](https://img.shields.io(npm/dm/release-it.svg) ![npm](https://img.shields.io(npm/dm/lerna.svg) ![npm](https://img.shields.io(npm/dm/gh-pages.svg) ![npm](https://img.shields.io/npm/dm/netlify-cli.svg) ![npm](https://img.shields.io/npm/dm/now.svg) ![npm](https://img.shields.io/npm/dm/vercel.svg) ![npm](https://img.shields.io/npm/dm/heroku.svg) ![npm](https://img.shields.io/npm/dm/firebase-tools.svg) ![npm](https://img.shields.io/npm/dm/surge.svg) ![npm](https://img.shields.io/npm/dm/gcloud.svg) ![npm](https://img.shields.io/npm/dm/azure-functions-core-tools.svg) ![npm](https://img.shields.io/npm/dm/serverless.svg) ![npm](https://img.shields.io/npm/dm/aws-sdk.svg) ![npm](https://img.shields.io/npm/dm/dynamodb.svg) ![npm](https://img.shields.io/npm/dm/lambda.svg) ![npm](https://img.shields.io/npm/dm/codedeploy.svg) ![npm](https://img.shields.io/npm/dm/cloudformation.svg) ![npm](https://img.shields.io/npm/dm/circleci.svg) ![npm](https://img.shields.io/npm/dm/travis-ci.svg) ![npm](https://img.shields.io/npm/dm/gitignore.io.svg) ![npm](https://img.shields.io/npm/dm/editorconfig.svg) ![npm](https://img.shields.io/npm/dm/prettier.svg) ![npm](https://img.shields.io/npm/dm/standard.svg) ![npm](https://img.shields.io/npm/dm/xo.svg) ![npm](https://img.shields.io/npm/dm/eslint.svg) ![npm](https://img.shields.io/npm/dm/stylelint.svg) ![npm](https://img.shields.io/npm/dm/flow-bin.svg) ![npm](https://img.shields.io/npm/dm/typescript.svg) ![npm](https://img.shields.io/npm/dm/snyk.svg) ![npm](https://img.shields.io/npm/dm/lgtm.svg) ![npm](https://img.shields.io/npm/dm/pre-commit.svg) ![npm](https://img.shields.io/npm/dm/husky.svg) ![npm](https://img.shields.io/npm/dm/lint-staged.svg) ![npm](https://img.shields.io/npm/dm/codecov.svg) ![npm](https://img.shields.io/npm/dm/coveralls.svg) ![npm](https://img.shields.io/npm/dm/greenkeeper.svg) ![npm](https://img.shields.io/npm/dm/renovate.svg) ![npm](https://img.shields.io/npm/dm/dependabot.svg) ![npm](https://img.shields.io/npm/dm/npm-check-updates.svg) ![npm](https://img.shields.io/npm/dm/gh-pages.svg) ![npm](https://img.shields.io/npm/dm/gh.svg) ![npm](https://img.shields.io/npm/dm/git-labelmaker.svg) ![npm](https://img.shields.io/npm/dm/husky.svg) ![npm](https://img.shields.io/npm/dm/validate-commit-emoji.svg) ![npm](https://img.shields.io/npm/dm/validate-commit-msg.svg) ![npm](https://img.shields.io/npm/dm/validate-pr-title.svg) ![npm](https://img.shields.io/npm/dm/semantic-release.svg) ![npm](https://img.shields.io/npm/dm/release-it.svg) ![npm](https://img.shields.io/npm/dm/ship.js.svg) ![npm](https://img.shields.io/npm/dm/changelog-maker.svg) ![npm](https://img.shields.io/npm/dm/changelogen.svg) ![npm](https://img.shields.io/npm/dm/auto.svg) ![npm](https://img.shields.io/npm/dm/lerna-changelog.svg) ![npm](https://img.shields.io/npm/dm/changelog-tools.svg) ![npm](https://img.shields.io/npm/dm/changelog-parser.svg) ![npm](https://img.shields.io/npm/dm/changelog-reminder.svg) ![npm](https://img.shields.io/npm/dm/changelog-tag.svg) ![npm](https://img.shields.io/npm/dm/changelog-awesome.svg) ![npm](https://img.shields.io/npm/dm/changelog-awesome.svg) (![npm](https://img.shields.io/npm/dm/changelog-icon.svg)) ![npm](https://img.shields.io/npm/dm/changelog-emoji.svg) ![npm](https://img.shields.io/npm/dm/changelog-time.svg) ![npm](https://img.shields.io/npm/dm/changelog-watcher.svg) ![npm](https://img.shields.io/npm/dm/changelog-helper.svg) ![npm](https://img.shields.io/npm/dm/changelog-tag.svg) ![npm](https://img.shields.io/npm/dm/changelog-parser.svg) ![npm](https://img.shields.io/npm/dm/changelog-reminder.svg) ![npm](https://img.shields.io/npm/dm/changelog-awesome.svg) (![npm](https://img.shields.io/npm/dm/changelog-droid.svg)) ![npm](https://img.shields.io/npm/dm/changelogify.svg) ![npm](https://img.shields.io/npm/dm/changeloger.svg) ![npm](https://img.shields.io/npm/dm/changelogd.svg) ![npm](https://img.shields.io/npm/dm/changelog-cli.svg) ![npm](https://img.shields.io/npm/dm/changelog-helper.svg) ![npm](https://img.shields.io/npm/dm/changelog-tag.svg) ![npm](https://img.shields.io/npm/dm/changelog-parser.svg) ![npm](https://img.shields.io/npm/dm/changelog-reminder.svg) ![npm](https://img.shields.io/npm/dm/changelog-awesome.svg) (![npm](https://img.shields.io/npm/dm/changelog-droid.svg)) ![npm](https://img.shields.io/npm/dm/changelogify.svg) ![npm](https://img.shields.io/npm/dm/changeloger.svg) ![npm](https://img.shields.io/npm/dm/changelogd.svg) ![npm](https://img.shields.io/npm/dm/changelog-cli.svg) ![npm](https://img.shields.io/npm/dm/changelog-helper.svg) ![npm](https://img.shields.io/npm/dm/changelog-tag.svg) ![npm](https://img.shields.io/npm/dm/changelog-parser.svg) ![npm](https://img.shields.io/npm/dm/changelog-reminder.svg) ![npm](https://img.shields.io/npm/dm/changelog-awesome.svg) (![npm](https://img.shields.io/npm/dm/changelog-droid.svg)) ![npm](https://img.shields.io/npm/dm/changelogify.svg) ![npm](https://img.shields.io/npm/dm/changeloger.svg) ![npm](https://img.shields.io/npm/dm/changelogd.svg) ![npm](https://img.shields.io/npm/dm/changelog-cli.svg) ![npm](https://img.shields.io/npm/dm/changelog-helper.svg) ![npm](https://img.shields.io/npm/dm/changelog-tag.svg) ![npm](https://img.shields.io/npm/dm/changelog-parser.svg) ![npm](https://img.shields.io/npm/dm/changelog-reminder.svg) ![npm](https://img.shields.io/npm/dm/changelog-awesome.svg) (![npm](https://img.shields.io/npm/dm/changelog-droid.svg)) ![npm](https://img.shields.io/npm/dm/changelogify.svg) ![npm](https://img.shields.io/npm/dm/changeloger.svg) ![npm](https://img.shields.io/npm/dm/changelogd.svg) ![npm](https://img.shields.io/npm/dm/changelog-cli.svg) ![npm](https://img.shields.io/npm/dm/changelog-helper.svg) ![npm](https://img.shields.io/npm/dm/changelog-tag.svg) ![npm](https://img.shields.io/npm/dm/changelog-parser.svg) ![npm](https://img.shields.io/npm/dm/changelog-reminder.svg) ![npm](https://img.shields.io/npm/dm/changelog-awesome.svg) (![npm](https://img.shields.io/npm/dm/changelog-droid.svg)) ![npm](https://img.shields.io/npm/dm/changelogify.svg) ![npm](https://img.shields.io/npm/dm/changeloger.svg) ![npm](https://img.shields.io/npm/dm/changelogd.svg) ![npm](https://img.shields.io/npm/dm/changelog-cli.svg) ![npm](https://img.shields.io/npm/dm/changelog-tags.svg) ![npm](https://img.shields.io/npm/dm/changelog-parser.svg) ![npm](https://img.shields.io/npm/dm/changelog-reminder.svg) ![npm](https://img.shields.io/npm/dm/changelog-awesome.svg) (![npm](https://img.shields.io/npm/dm/changelog-droid.svg)) ![npm](https://img.shields.io/npm/dm/changelogify.svg) ![npm](https://img.shields.io/npm/dm/changeloger.svg) ![npm](https://img.shields.io/npm/dm/changelogd.svg) ![npm](https://img.shields.io/npm/dm/changelog-cli.svg)# Simple Notes App Using SQLite DB & Curses UI in Python 3.7+ 👻📋🆕✨🚀🐍💻📝🍀💚💛🧡💯🤘🤩🌎☮🌈👌😎🎧🥇🏆🙏👏📡🔄🖇🚩🛠🔎💡📈🚦⚠✅❌💔🧱⚡ # The Program Will Automatically Install All Dependencies You Don't Have Already 🏁📢🌊☔🌐♥☕ All You Need Is Python 3.7+ Installed 📅 You Can Use Any DB Browser For SQLite To View, Edit, Export, Import etc... The Notes.db SQLITE Database File Created In The Same Directory As The Notes App Program 🧑‍💻👧‍💻👩‍💻👨‍💻👈👉👇👍👆👋👌😁😛<issue_start><issue_comment>Title: Add .travis.yml file for running Travis CI. Modify README.rst and appveyor.yml for consistency with the new file. Add flake8 config file. Add requirements files. Update Makefile for pytest for Python version management. Remove requirements.txt in favor of dev-requirements.txt and py2-requirements.txt. Add .coveragerc file. Support AppVeyor CI: add appveyor.yml to enable AppVeyor, a Windows CI platform. Closes #6. CI Tests: Use pytest-cov for code coverage (works for both py.test and nosetests). Remove Python 3.3 from tox.ini, .travis.yml, .appveyor.yml. Drop setup.py classifiers for 3.3, as well. Drop .tox from .gitignore as tox runs in CI, not locally. Install pytest-cov for py.test coverage. Add new test requirements file to address conflicts during CI and add info to documentation. Add MANIFEST.in. Install the package in package tests, even in development install, because in a new venv tests need the package. If not installed, for example when there are no distributions in dist, setuptools will not let pytest collect them. Py.test needs only the dev requirements, not the package requirements, so install them separately (again dev deps not reqs in reqs). Install test requirements in .travis.yml and appveyor.yml. Install them using the Makefile in tox and local too. Remove old Python requirements files, update Makefile, and remove old code for py33 and nose testing. Stop building coverage in the Travis Linux Job in favor of AppVeyor. Use codecov for coverage reporting, not coveralls, to match other aspy repos. Remove coverage badge for now, until CI becomes stable. Remove build status badge for now, pending approval for package on Travis CI and pypi. Once that happens, add it back. Add pytest-cov to test requirements for running with pytest. Unify on requirements-dev for tests, and get everything running everywhere. Remove test requirements file, no longer needed with current test dependencies. Remove PyPy from tox.ini, as it can't build from source for dependencies and isn't needed for CI to test everything. Also reduce environment count by only testing for each major python release. Add doc-requirements.txt and make the docs buildable from the docs directory. Consolidate all dependencies in setup.py, so that tox, Makefile, and requirements files can all specify the same dependencies and not get out of sync. Update the pip dependency. Add setuptools as a dependency. Closes #28. Update MANIFEST.in following new PEPs/practices. Make wheel a built-time requirement for all installations by adding to setup_requires. Reorder requirements in setup.py for clarity, readability, and correctness, and remove duplicated dependencies. Add Python Trove classifiers to setup.py for PyPy and PyPy3. Add Python 3.7 trove classifier, and test against Python 3.7 in Travis CI and appveyor. Add Python 3.7 to the .travis.yml and appveyor.yml files for testing. Enable Fast Finish in Travis CI and appveyor.yml for faster CI, but not for coverage builds, which should be careful to run to completion. Rename the setup.py module to install_requires. Add minimum pip version to requirements-dev.txt and setup.py. Force tox to install from dev-requirements.txt for local development and testing. Remove unnecessary tests_require from setup.py. Move docs/_build/ to gitignore. Add doc-requirements.txt to requirements-dev.txt so tests can import and read from docs. Remove py3-requirements.txt, add doc-requirements.txt to MANIFEST.in, and remove reference to test-requirements in requirements-dev.txt. Add newline at end of requirements-dev.txt. Remove the py2-requirements.txt and update requirements-dev.txt for clarity and consistency. Make pip less than 19.1 so urllib isn't broken per #29. This is a hotfix per pending upstream packaging resolution. Remove Python <3.4.0 classifier from setup.py. Update classifiers in setup.py to reflect current supported Python versions. Remove Python 2.7 and 3.4 classifier from setup.py. Remove Python 2.7 and 3.4, references in documentation and CI. Add 3.8 classifier for the last supported Python version. Add no cover for main function for accurate coverage reporting. Fix import from the tests module (instead of local dir) for test discovery. Also, skip style checking test on Windows, which is covered by flake8 in CI on Linux. The main() function in __init__.py should be run in CI so move out the coverage skip pragma. Use the new import style for coverage for the main method. Use pip check in CI after installation for integrity. Add requirements-check.txt for this. Add it to dev-requrements.txt. Closes #18 and closes #30. Move main() definition into a new module in main.py and stop importing a non-package-relative identifier in __init__.py. Update references to main() in tests and in __main__ module. Add tests for main module, checking the CLI, and improve style tests for future use. Make main test provide 100% coverage. Remove nosetest config from setup.py and add pytest as a test runner for the package. Explicitly use pytest as a test runner in tox. Add a py38 job to the CI configs and fix deprecation warnings. Remove support for Python <3.6. Remove the last Py27, Py34, and Py35 classifiers, and update setup.py with the new supported versions. Remove old py3-requirements.txt file. Remove six dependency as it is no longer needed for compatibility. Remove Python 2 setup.py keyword in setup.py. Remove coverage and codecov from dev-requirements.txt, as these are not development dependencies. Remove coveralls from requirements-dev.txt; no longer used, either. Use the Python 3.6+ format string features and syntax. Remove Python 2/3 compatibility shims, e.g. no __future__ imports, no six. Remove pdbpp from dev-requirements.txt; not needed as a test or development dependency. Remove tox from requirements-dev.txt as it is installed globally. Add modern metadata in setup.cfg, pyproject.toml, and replace the Makefile with noxfile.py for builds. Add license file to the project. Add GitHub workflow for CI. Add Windows and macOS to the test matrix. Remove Travis and AppVeyor CI configs. Increase verbosity for debugging test errors in the workflow. Add the correct coverage plugin for pytest-cov. Update the build system to use pipx for building the docs and run the linter in CI. Use pipx for nox in the installed job. Use one codecov run per workflow, not per job. Add more metadata for the codecov coverage reporting. Remove cruft in setup.cfg and pyproject.toml that is not needed for this project. Add black configuration and run it on all code. Add the 2021 headers for all files. Add black to the dev and doc requirements for use in pre-commit. Configure flake8 and black for formatting and whitespace. Run mypy in CI as a linter. Add mypy config file and add type hints where needed. Improve help text in the CLI, add black configuration, check black formatting in the CI. Remove old MANIFEST.in and clean up docs/source/license.rst from legacy content. Improve help text in the CLI and run the help test in CI for the module. Consolidate requirements for easier user, and unify on dev-environment.yml for documentation clarity. Clarify the requirements and update the README. Update to mypy-0.900. Remove black from the documentation requirements. Remove legacy coverage and style checks. Add isort and bugbear to the linter. Add autoflake to the dev environment. Fix extra character in dev-environment.yml. Add mypy settings to setup.cfg as well. Separate out mypy from the main lint job into its own job and allow missing imports. Move style checkers to [testenv:lint] in pyproject.toml and add black and autoflake. Remove style checks from .pre-commit-config.yaml and rely on the nox lint session. Remove mypy from the linter and rely on it in CI for checking. Improve CLI help text now that there is proper testing. Remove CLI test from the tests.py file. Add a new CLI test file for the main module. Add a new .gitignore. Improve documentation and clean up doc requirements. Rename some files for clarity. Add pre-commit for local linting. Add dependabot config. Move the metadata from setup.py into pyproject.toml and setup.cfg, then remove setup.py. Build the package as a static [wheel with pyproject.toml support for pip and setuptools. Use dynamic versions for setuptools_scan in the pre-commit config. Remove the unused setup.py file. Change flake8-print to per-file-ignores for cleaner config. Remove now-unused flake8-print dependency. Add missing license in docs/source/license.rst. Add doc8 for docstring linting, and use a consistent style for code blocks in API usage. Add tox config for linting. Remove docs from the nox testenv deps to make building requirements easier. Remove unused requirements. Remove development environment from manifest. Remove cruft from docs/source/conf.py. Add the BSD zero-clause license. Add Python 3.10 to the test matrix and update documentation. Add 3.10 trove classifier. Remove 3.6 from supported versions, since it is no longer supported upstream. Remove 3.6 from test matrix, trove classifiers in packaging and docs. Update pre-commit hooks to use black-22.1.0. Add a pre-commit check for the current year in the license headers. Clarify the docs/requirements.txt file for RTD builds. Add RTD config. Allow pre-commit to run with old versions of Python for file checks. Fix the release automation process and add a GHA workflow for publishing releases. Update README.rst and the Sphinx docs for RTD publication and Python version support. Remove unneeded dev-environment.yml and use requirements-dev.txt for doc builds. Add towncrier for automatic changelog/CHANGELOG.rst generation. Setup a job to run towncrier in CI and update the RELEASE.rst documentation. Update the release workflow and RELEASE.rst to ensure a tag is created before building the package. Fix the release workflow to require tag creation before building and uploading. Add a link to the full changelog rendered as a static file in the docs. Add a news fragment for 2.0.0 changes for towncrier. Improve the release automation and documentation for it. Add tox environments for building docs and updating changelog. Update the year to 2022 in all copyright headers. Add a news fragment for changelog. Require at least one tests are included in a release. Add more python versions for build-and-test against, and run towncrier in CI for the latest tested Python release. Run flake8 with the pre-commit hooks, and run tox -e lint as a step in CI. Revert
  • Add pre-commit for local linting.
  • Add dependabot config.
  • Move the metadata from setup.py into pyproject.toml and setup.cfg, then remove setup.py.
  • Build the package as a static [wheel with pyproject.toml support for pip and setuptools.
  • Use dynamic versions for setuptools_scan in the pre-commit config.
  • Remove the unused setup.py file.
  • Change flake8-print to per-file-ignores for cleaner config.
  • Remove now-unused flake8-print dependency.
  • Add missing license in docs/source/license.rst.
  • Add doc8 for docstring linting, and use a consistent style for code blocks in API usage.
  • Add tox config for linting.
  • Remove docs from the nox testenv deps to make building requirements easier.
  • Remove unused requirements.
  • Remove development environment from manifest.
  • Remove cruft from docs/source/conf.py.
  • Add the BSD zero-clause license.
  • Add Python 3.10 to the test matrix and update documentation.
  • Add 3.10 trove classifier.
  • Remove 3.6 from supported versions, since it is no longer supported upstream.
  • Remove 3.6 from test matrix, trove classifiers in packaging and docs.
  • Update pre-commit hooks to use black-22.1.0.
  • Add a pre-commit check for the current year in the license headers.
  • Clarify the docs/requirements.txt file for RTD builds.
  • Add RTD config.
  • Allow pre-commit to run with old versions of Python for file checks.
  • Fix the release automation process and add a GHA workflow for publishing releases.
  • Update README.rst and the Sphinx docs for RTD publication and Python version support.
  • Remove unneeded dev-environment.yml and use requirements-dev.txt for doc builds.
  • Add towncrier for automatic changelog/CHANGELOG.rst generation.
  • Setup a job to run towncrier in CI and update the RELEASE.rst documentation.
  • Update the release workflow and RELEASE.rst to ensure a tag is created before building the package.
  • Fix the release workflow to require tag creation before building and uploading.
  • Add a link to the full changelog rendered as a static file in the docs.
  • Add a news fragment for 2.0.0 changes for towncrier.
  • Improve the release automation and documentation for it.
  • Add tox environments for building docs and updating changelog.
  • Update the year to 2022 in all copyright headers.
  • Add a news fragment for changelog.
  • Require at least one tests are included in a release.
  • Add more python versions for build-and-test against, and run towncrier in CI for the latest tested Python release.
  • Run flake8 with the pre-commit hooks, and run tox -e lint as a step in CI.
  • Revert
Erreurs à éviter
  • Confusing the 'like' operator with regular expressions.
  • Not understanding that the 'like' operator is case sensitive.
  • Forgetting that the 'like' operator is used with wildcard characters.
  • Misusing the '_' and '%' wildcards.
  • Not using escape characters for special symbols.
  • Using 'like' with numeric fields without consideration.
  • Ignoring the performance impact of leading wildcards.
  • Forgetting to consider collation and character set differences.
  • Overlooking the possibility of using 'ilike' for case-insensitive searches.
  • Not using parentheses for complex conditions involving 'like'.
  • Misunderstanding the difference between 'like' and '='.
  • Not using the 'not like' operator for exclusion.
  • Ignoring NULL values in 'like' comparisons.
  • Confusing SQL 'like' with shell globbing patterns.
  • Not considering using full-text search for complex patterns.

Sources : json/2013/feb/13/lovecraft-scholar-st-joshi-to-visit-bangor/

Généré le 12/01/2015

Complétude des données : 100