Alright. Here's the quick and dirty on enclosures. It's not absolute, but it's a good rule of thumb.
Length of the enclosure should be at least 2/3 of the length of the snake. Length + width should at least equal the length of the snake.
I would say a 20L is a little on the small side. I would recommend either a 30L or a 40 breeder for an adult. Alternately, you can keep them in a tub. a 4' x 1' x 1' tub is less than 20 bucks, and will keep the humidity up well.
As to what you need and where to get it, places do sell kits. If you go into any pet store, you'll see all kinds of kits. These kits have three things in common. They include things you don't need, they exclude things you do need, and they're unbelievably over priced.
I get my reptile supplies from
Reptile Supplies, Reptiles, Amphibians, Invertebrates, Cages, Feeders, and More, they ship worldwide, and their prices are pretty good.
Here's what you need.
Enclosure (with lid and a way to lock the lid)
Water Dish
Heat Source
Substrate
Thermometers
Hygrometer
Hides
Food
Enclosure - The rule of thumb is, as I stated before, a length + width equal to length of the adult snake. Males get 3-3.5 feet, females 4-5 feet. For enclosures you basically have four options.
Aquarium - Aquariums are the mid range as far as price and quality. You can generally find used aquariums on craigslist for $1/gallon or less. They are easy to secure, retain heat reasonably well, and offer you a good view of your snake. If you use an aquarium, you will need to get a screen top, and clips to hold it on.
Tubs - These are made by Sterilite or Rubbermaid. They are by far the cheapest enclosure solution, and the best at maintaining heat and humidity. To use one of these, you either need to get one with a locking lid, or secure the lid another way (I use bungee cords). Add ventilation by either drilling, or melting holes. Holes can be easily melted with a soldering iron. The down side of tubs is that even transparent ones offer a pretty poor view of your snake. They are also the least attractive.
Custom Enclosures - As already outlined by other people, custom enclosures can be made reasonably cheaply. You can build an enclosure to the exact dimensions needed for your snake. The down side of these cages is obvious, you have to design and build them yourself.
Purpose Built Enclosures - These are enclosures built specifically for reptiles. They are made by companies such as Boaphile, Vision, and Animal Plastics. These are the highest quality enclosures you can get. They look sharp, retain heat well, are designed for use with reptile heating, and generally are stackable. The downside of these is price. They are seldom found on the secondary market, and even a small purpose built enclosure (such as for a ball python) can run you well over $200.
A note on enclosures: When choosing an enclosure you should look at the psychology of the animal in question. Most reptiles, ball pythons in particular, are preyed upon from above. Large terrestrial predators, birds of prey, and humans attack from above. Because of this, cages that open from the front are preferable to cages that open from the top. Being able to approach your reptile from its front, rather than swooping in from above will decrease the chance of getting bit, while decreasing the amount of time required to tame.
Water Dish - This one is easy. Anything will work as long as it holds water, and is light enough that you can remove it for cleaning. The water dish should be large enough that the snake can fit entirely inside it, and deep enough that it can submerge. There are three basic types of water dishes, recycled, makeshift, and purpose built. Remember, for a water dish, it doesn't matter whether it is a well washed cool whip tub or a basin carved from a solid block of marble. As long as the dish is large enough, all that matters is how nice you want the dish to look versus how much money you want to spend.
Recycled - A cake pan you found at a garage sale, an empty butter dish, a pie pan, etc. These are simply items that will hold water and don't cost you anything. Make sure that whatever you use is well washed and won't rust, or leech chemicals into the water.
Makeshift - Something designed to hold water, but not designed to be a reptile bath. A good example of this is a dog bowl. A lot of people use these. They look nicer than a butter dish, or an old take out container, are dishwasher safe, and are nice and deep.
Purpose Built - These are made by companies like ZooMed, Zilla, Flukers, etc. They are designed specifically as reptile water dishes. Some are disguised as natural rock. Some have built in ramps. All are expensive. They look nicer than any other option, but have a couple of major drawbacks. They're made of resin and therefore unbelievably heavy. They are generally on the small side.
Heat Source - There are many ways to heat a snake enclosure, I couldn't possibly list them all, but I will list the most popular along with pros and cons and what types of enclosures they work best with. Regardless of heating method, heat should be applied preferentially to one side of the enclosure. This allows for a temperature gradient, which is required for snake health and well being. Without a temperature gradient, reptiles cannot thermoregulate (raise or lower their body temperature) and will die.
Heat Tape/Cable - Heat tape is the stuff you wrap around pipes to keep it from freezing. Heat cable is basically the guts of an electric blanket and purpose built for heating reptile enclosures. They are effectively the same thing. Heat cable works very well with tubs, and well insulated custom/purpose built enclosures.
Pros: Cheap. Low Wattage. Safe for use inside enclosure. Doesn't get hot enough to burn your snake.
Cons: Low heat output compared to other options.
Under Tank Heater (UTH) - These generally come in the form of a thin sheet of adhesive plastic with a cord coming out of it. You adhere them to the under side of your enclosure.
Pros: Low Power Consumption. Cheap.
Cons: Very low heat output, additional heating will usually be necessary, not safe for use inside enclosures, inefficient (they heat the enclosure, and whatever the enclosure is sitting on)
Infrared Heat Bulb - These are basically the same bulbs that you find in hotel bathrooms for heat, or in restaurants to keep food hot. If used they must be mounted in a ceramic socket with reflector hood. There must also be a barrier, such as a screen, or cover between the bulb and the enclosure. Failure to do so will result in severe burns, or death when your snake inevitably comes into contact with the bulb. The surface of these bulbs reaches temperatures in excess of 400 degrees! These work really well for aquariums (which have trouble maintaining heat), but cannot be used for tubs unless you want your house to burn down.
Pros: Produce a lot of heat. Inexpensive. Can be used at night unlike normal incandescent heat bulbs.
Cons: Casts a red glow over everything. Use a lot of power. Cannot be used with tubs.
Ceramic Heat Emitter - These are basically a heat bulb, without the bulb. They screw into a standard socket (again, use a ceramic socket with a reflector dome). They produce intense heat, and absolutely no light. Like the infrared heat bulbs, they must be guarded from contact with your snake as their surface gets over 400 degrees.
Pros: Efficient. No light. Lots of heat.
Cons: Less efficient than heat cable, expensive ($20 per bulb), cannot be used with tubs.
I recommend either heat cable, or a ceramic heat emitter, depending on your needs.
Substrate -There are more substrate options than you can possibly imagine. I will list the pros and cons of some of the popular ones, and list the ones that you should never use.
Never use these substrates! - These substrates present either a danger of either impaction or poisoning! Do NOT use them!
Sand
Gravel
Dirt
Pine Shavings
Cedar Chips
Corn Cob Bedding
In addition, if you use a loose substrate, you should always feed your snake in a different container to prevent accidental ingestion of substrate.
A few good substrates are: Coconut fiber/husk, Aspen bedding, Cypress mulch, Astroturf/outdoor carpet, newspaper
Coconut Fiber/Husk
Pros: Good at maintaining moisture. Attractive.
Cons: High moisture means high chance of mold. Difficult to clean. Expensive.
Aspen bedding
Pros: Very cheap.
Cons: Poor moisture retention. Not attractive.
Cypress Mulch
Pros: Cheap, Retains moisture well.
Cons: Dirty. Potentially contaminated with wood mites.
Astroturf/Outdoor carpet
Pros: Cheap, Reusable, Very easy to spot clean.
Cons: Not very attractive. Reptile cannot burrow.
Newspaper
Pros: Easy to clean (just toss soiled sheets). Free if you already buy a newspaper.
Cons: Not attractive. Reptile cannot burrow.
Thermometers - There are basically three options for thermometers. You can get several of the cheap dial ones, and place them strategically around the enclosure (hot side, cold side, basking area.) You can get an electronic one with one or more probes. Or you can get a laser thermometer. Get a laser thermometer. They're only like $25, and they will cover your thermometer needs for ALL of your reptiles. They are far more accurate than any other thermometer, and the only way to actually get the temperature of your snake's basking area. I also highly recommend a thermostat. A thermostat can be gotten for as little as $25 and will take the guesswork out of maintaining temperatures. You won't have to worry about your snake getting too hot, or too cold.
Hygrometer - There's not a lot of options here. You can get an electronic hygrometer at any home & garden store (Lowes, Menards, Do-It Best, Home Depot, etc) for about $10. Alternately you can get an analogue (dial) hygrometer. Do not get an analogue hygrometer. Period. Don't do it. Dial type hygrometers work by way of a spring attached to a filament. The filament is made of a material that contracts and stretches according to the relative humidity. However, the filament will lose its elasticity over time, causing it to be progressively inaccurate. This inaccuracy starts the moment they are manufactured, by the time you purchase it, it may be off by 40% or more!
Hides - Hides are like water dishes. They can be anything. I've been sitting here typing for like two hours, so I'm not going to bother giving examples of what you can use, just what qualities the hide should have. A hide should be small enough that the snake barely fits inside. The more walls of the hide that the snake can touch simultaneously, the more secure he will feel. Avoid anything that you cannot manually remove the snake from. Your snake will require two hides at a minimum; one on the hot side, and one on the cold side.
Food - Your new baby ball python should be able to take adult mice, or fuzzy/hopper rats. Prey size should be gradually increased as the snake grows. The diameter of the prey should be roughly equal to the widest part of the snake. An adult ball python will take medium to large rats. Prey can be offered frozen/thawed, freshly killed, or live. Only whole prey items should be offered. Generally rodents, or birds. Never offer wild caught food, it can carry parasites, and may have been exposed to poisons.
Frozen/Thawed - You purchase your rodents frozen, either from a pet store, or a rodent supplier. Thaw them in your refrigerator over night (large rats may require two days to thaw completely). Before feeding, seal the rodent in a plastic bag, and run under hot tap water for a few minutes. Never try to hand feed a rodent. Either drop it into the feeding tub/enclosure or offer it with feeding tongs. If the snake does not seem interested, grasp the rodent on the nape of the neck with tongs, and wiggle it in front of your snake. NEVER feed a rodent that hasn't been completely thawed!
Pros: Cheapest way to feed a snake, unless you breed your own. No risk of bites to your snake. You don't have to watch the rodent die.
Cons: Some snakes refuse frozen/thawed prey. Frozen rodents have a limited shelf life (one year with fur, 6 months without.).
Freshly Killed - Like frozen/thawed, rodents are offered dead. Unlike frozen/thawed, the rodents are humanely killed just before feeding. This is useful for snakes that refuse to take frozen/thawed, and also useful for people who breed their own rodents. The advantage over frozen/thawed is that the rodent can be "gut loaded" (fed nutritious food prior to being killed) for better nutrition, and will appear more like a live rodent to a finicky eater.
Pros: Can gut load. Useful for finicky eaters.
Cons: You have to kill the rodents yourself, this can be gruesome.
Live - There is a great amount of debate over whether you should feed live prey. I can answer all arguments for and against with one sentence. A dead rat cannot bite your snake. That being said, there are times when feeding live is necessary, and if done responsibly, it can be a perfectly safe way to feed your snake. The advantages are identical to freshly killed, except that some snakes will only accept live prey. The dangers are, of course, that the snake will be bitten or otherwise injured by the rat.
If you choose to feed live, please heed the following advice:
Never leave your snake unattended with a live rodent.
Always put some rodent food in the tub/enclosure with the snake.
Watch the snake carefully as it kills the rodent, be prepared to intervene if the rodent gets the upper hand.
A rat is more than capable of killing a snake many times its size. Rodents are preyed upon by snakes, they know how to defend themselves. They go for the spine and can severely injure or even kill a snake! By monitoring closely and making sure that the rodent has a food supply, you can minimize the chances of your snake getting injured.
Pros: Able to gutload. Some snakes only accept live.
Cons: Potential for injury to your snake.