1 Enclosure
Your enclosure should not be too big the bigger the enclosure the more stress you will cause to your Ball Python, remember that in their natural environment they spend 70 to 80 % of their time in a tight termite mount.
You can use a glass tank, keep in mind that is you do it will be harder to control temperatures and humidity.
If you get a baby you will only need a 10 gallons to start with and if you chose an adult a 30/40 gallons is all you will ever need. Use the rule of thumb the enclosure should be 2/3 of the length of your Ball Python.
A lot of people chose plastic tubs (Sterilite or Rubbermaid), which allow an easier control of the temperatures and humidity and make Ball Pythons feel secure.
When it comes to plastic tubs here are the sizes you will need according to your Ball Python's size (Remember you will need a drill or solder wand to make holes for airflow)
Up to 500 grams – 15 Quarts (17"L x 11 1/8"W x 6 3/8"H)
Up to 1500 grams – 32 Quarts (23 1/2"L x 16 1/4"W x 6 3/8"H)
Above 1500 grams – 41 Quarts (34 3/4"L x 16 1/2"W x 6"H)
No matter which enclosure you chose remember to secure the lid as Ball Pythons are real escape artists.
1 UTH (Under Tank Heater)
Here are some products that will allow you to provide belly heat and achieve the required gradient temperatures in your enclosure: Ultratherm Heat Pads, T Rex Cobra Pads and Flexwatt Heat Tape (Unlike some other they do not stick permanently to the enclosure).
1 Thermostat
Regardless of the device you chose to provide heat you will need a thermostat, this will allow you to maintain proper temperatures and avoid over-heating.
I would highly recommend you to invest in a digital thermostat such as Ranco ETC-111000 and Johnson on the lower end, or Herpstat Digital Proportional Thermostat and Helix on the higher end, they might seem expensive but they are worth it. Keep in mind that if you get a cheap thermostat like the ESU 1 outlet or 3 outlets starting at 25 dollars you will get what you paid for, considering how long your BP will live you will want to invest in something durable, reliable and safe.
2 Hides
Provide one hide on each side of the enclosure. Ideal hides must be dark, tight (All side touching your Ball Python's body) and identical so your Ball Python does not chose between security and thermo-regulation. In my opinion the best hides are ESU/Zilla Creature Cubbyholes.
1 Water Dish
Contrary to what many believe the water dish does not have to be big enough for your Ball Python to soak (Healthy, mite free BP rarely soak).
1 Thermometer/Hygrometer
When it comes to temperatures and humidity you cannot guess you MUST know. (Avoid stick and dial devices as they are not accurate). To get an accurate reading I would recommend a digital device such as Acu-Rite Hygrometer/Thermometer that can be found at Walmart for 12$ or Zilla Terrarium Hygrometer/Thermometer.
Substrate
Here are some substrates that can be used in your BP's enclosure: Newspaper - Paper Towel - Aspen - Repti-bark - Cypress Mulch etc. DO NOT use pine or cedar bedding as they contain phenols that can be toxic to your snake.