The Bechdel Test, sometimes called the Mo Movie Measure or Bechdel Rule is a simple test which names the following three criteria:
- It includes at least two women
- who have at least one conversation
- about something other than a man or men.
The test was popularized by Alison Bechdel's comic Dykes to Watch Out For, in a 1985 strip called The Rule. For a nice video introduction to the subject please check out The Bechdel Test for Women in Movies on feministfrequency.com.
This program accepts a movie script and analyzes whether or not it passes the Bechdel Test, as well as analyzing several other feminist components to a film. It can answer questions like "How many females are in this film," "By what factor does this pass the Bechdel Test?"
- Install Node.js
git clone https://github.com/JoeKarlsson/bechdel-test
cd bechdel-test
You will need to get API Keys for The MovieDB and My API Films.
- You can sign up for an API key for The MovieDB, here: https://www.themoviedb.org/settings/api.
- Additional Documentation about this API can be found here: https://developers.themoviedb.org/3/getting-started/introduction.
- You can sign up for an API key for My API Films, here: https://www.myapifilms.com/token.do.
- Additional Documentation about this API can be found here: https://www.myapimovies.com/api/v1/swagger-ui.html.
To use MongoDB Atlas, you must be logged into Atlas.
- In the left navigation pane, click Clusters, and then click the Build New Cluster button. The Create New Cluster page opens.
- Choose your preferred provider and region, tier, and additional settings. As you build your cluster, Atlas displays the associated costs at the bottom of the page.
- The default cluster name is Cluster0. If you wish to change the name, do so now, as cluster names cannot be changed once configured.
- Click the Create Cluster button to save your changes.
- Go to Database Access and hit Add New User. Add a username and password, if you autogenerate a password make sure you copy it, we’ll need it later.
- Go to Network Access, hit Add IP Address, and hit Add Current IP Address, then confirm.
- Go to Clusters, if your cluster build is done then hit Connect, Connect Your Application, and copy the line of code it gives you
Change src/server/config/config_example.json
to src/server/config/config.json
and
- Paste your MongoDB URI into the
MONGODB_URI
feild. - Paste your MovieDB API Key into the
THEMOVIEDB
feild. - Paste your My API Films API Key into the
MYAPIFILMS
feild.
npm install
npm start # open http://localhost:3000 in your browser
The bechdel.io
test suite is run with npm test
.
You can read more about testing bechdel.io.
If you are looking to get your hands on some movie scripts to test, you can check out my CLI Movie Script Grabber https://github.com/JoeKarlsson/movie-script-scraper
The Bechdel Test Script Parser was a collaborative digital humanities project between myself and my sister, Laurel Karlsson. It is the product of a shared passion for film, feminism, and the creative potential of technology. By combining the talents and interests of myself, a software engineer, we’ve been able to create an innovative data mining tool for film analysis that we hope to continue to work on and improve. You can check out the project on our website.
This project was born when my sister reached out to me for advice on a few ideas she had been mulling over for a digital humanities project. Hoping to do something related to feminist film analysis, she was feeling very limited by my lack of coding experience and hadn’t been able to find an existing data mining tool to accomplish what she was looking to do. I immediately offered up my coding expertise, looking to gain experience by building a tool from scratch which would accomplish the specific needs of the project. After brainstorming several different project ideas, we settled on the one you see here.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Joe Karlsson |
Laurel Karlsson |