How to Make Your Own (Python) Aquarium Water Changer

The first time I read about a Python water changer, I knew it was what I wanted to use for my new aquarium’s maintenance. There are several challenges with performing a water change for your aquarium.  Some kits rely on a siphon (usually a bulb at the end of the hose) to start flow.  The downfall of this is that the siphon only works if your discharge point is lower than your aquarium.  Lots of people end up siphoning their old aquarium water into a bucket.  They then have to haul buckets off to dump.  This is fine for a small aquarium, but a real pain for a large aquarium.

An alternative would be an electric pump on the end of a hose to get the water lifted to a higher elevation, say to dump into a sink.  This is a solution you would have to rig up yourself, and would be complicated.

Then the other challenge is getting your clean water back into your tank.  Again, with a traditional siphon type water changer, you are stuck either manually dumping buckets of water into your tank or using a pump to move water.

The Python Water Changer – How It Works:

The secret and unique feature of a Python water changer is that both water removal and fill are handled by a connection to any regular faucet.  This is facilitated by the special siphon valve that attaches to the faucet.  It has a valve on the bottom that you rotate one direction to remove water and another to reverse flow and fill the aquarium.  In addition to the siphon fitting, a python kit comes with an adaptor to connect the siphon fitting to your faucet, a hose that runs to your tank, a valve to shut off water at your aquarium (so you don’t have to run back to the faucet to stop flow), and a gravel vacuum attachment.

Using the Python is as simple as connecting all the pieces, setting the valve to ‘siphon’ mode, and then drawing up water through the gravel tube.  When you have removed as much water as you want, you just reverse the valve to ‘fill’ mode, and adding the water directly to the aquarium.  Note: It is confusing to add water directly back to the aquarium, but this is perfectly acceptable if you follow the instructions on select brands of water conditioner, like Seachem Prime.

Shortfalls to the Python Water Changing Kit:

The kit offered by Python is wonderful and there is really only one major downfall: cost.  The basic kit that comes with a 25′ long fill hose is around $40 on Amazon.  This isn’t bad, but for some people, the aquarium is further away than 25′ and this neccecitates a kit with a longer standard hose.  Kits come with hose lengths of 25′, 50′, 75′, and 100′.  Python also comes with extension sections of hose you can add to any kit.  The problem is the pricing for these longer options.  The 75′ water change kit comes to around $80.  That means you are having to pay $50 for another 50′ of hose.  That is a bit steep.

Also, there is not much flexibility in the attachment you put on the aquarium as their kits only come with the gravel vacuum.  I don’t have much need to vacuum the gravel in our planted tank and was interested in something smaller that fit the scale of our nano Fluval Spec V.

The good news is that you can get parts to make your own and you can have the ultimate in flexibility for hose length, valves, and the fill/siphon fitting in your tank!

Building Your Own Python Type Water Changer:

The components to make an improved Python water changer are available separately and I will help to show you how to put one together.  Here is your shopping list:

  • Faucet to Hose Adaptor:  This is a small adaptor that has male threads on both ends.  The finer threads go on the end of a faucet. The more coarse threads are what the ‘pump’ or siphon threads onto. There is a plastic one, but that is susceptible to stripping.  Get a brass one as it is more durable and cost about the same as the plastic model.  Python makes a brass fitting and sells it separately, or you can often find this fitting in a hardware store.

Python Brass Aquarium Adaptor

  • Siphon Pump:  If you ever had a waterbed as a kid, you recognize this device. It has a female connection at top that you attach to your faucet adaptor.  The valve is at the bottom to switch from siphon to fill mode.  Out the side is a standard male garden hose thread. Again, Python sells their pump separately, or you can search for a ‘Waterbed Mattress Fill & Drain Kit“. It looks like the waterbed fill kit comes with a plastic adaptor so you can make do with that and save some cash.

Python Aquarium Siphon Water Pump

  • Hose:  This is where the DIY kit is much more simple than the Python kits.  What you need is a potable water hose that is used for RV connections.  They are available on Amazon, but also at WalMart (in the USA) and might be available at camping or hardware stores.  The brand I found is Camco.  They come in 10′, 25′, and 50′ lengths.  The fittings for these hoses are the same threads as a standard garden hose, but the materials are drinking water safe, and therefore safe for use in your aquarium. If you need a longer hose, you can use standard garden hose fittings to join two sections. The hoses often come in 1/2″ inside diameter or 5/8″ inside diameter.  I got the smaller as i thought it might be easier to bend; it matters not which size you get as far as flow function.

Camco Potable Water Hose 10 ft

  • PVC pipe and ‘slip’ Fittings to make your fill / drain device:  Your imagination is the only limit here, but basically, you will need pvc pipe, fittings, a valve (optional).  I will get into this more below. The most critical piece is an adaptor that connects to the male end of our hose and converts to the appropriate size (in my case, 1/2″) PVC pipe. It will say something like 1/2″ slip x 3/4″ Female Thread Garden Adaptor.

1/2" slip to 3/4" garden hose adaptor fitting

Most of these parts are not really a build but just assembly, with exception to the fill device that goes in the aquarium. Let’s start with that.

I built two different tank devices.  The first was simply a ‘wand’ that is comprised of the hose adaptor, some PVC pipe and one 45º fitting.  I use this hand held to spot remove detris from specific places in the tank.  Most of the time, this is the fill device I use.  I decided to use 1/2″ pipe as it seems this will be plenty of flow for our little aquarium and should work fine even on a larger tank. See the picture for the components I used and how they go together.  Just cut pipe sections that are appropriate and test fit.


You can use the assembly for a while before you glue it together; the press-fit is usually plenty strong to hold together and won’t leak.  Honestly, I have been using this for almost a year and I still haven’t glued it together.


The second tank device is one that can be used hands free.  It hangs over the edge of the aquarium and holds itself in place.  I put a valve on it to be able to shut off flow if I want without going all the way back to the faucet.  Here is how the components looked separately:


Here it is all put together.


Make sure to glue this assembly together before you use the shut-off valve as the pressure could blow fittings off and make a mess.

I don’t have a need or desire to ‘gravel vacuum’ my aquarium, so I have not looked into making one of those.  It would work to have an end section of larger diameter PVC and an adaptor; however, most people like the gravel vacuum section to be clear so you can see and avoid drawing up gravel. I’m sure that if you nose around in a hardware store, you can come up with clear piping and connect it up either by press fit or by rigging up some pieces with aquarium sealant.

DIY Water Changer In Use:

When water change time comes, this system is very easy to use.  I start by removing the thread-in aerator from our kitchen faucet.  Then, I screw in the brass adaptor.

brass faucet adaptor mounted

Next, I screw the water pump onto the adaptor.  When I tighten, I make sure that the ‘tee’ that the hose attaches to is pointed in a direction where the hose can be attached.  Once that is attached, I screw on the female end of my hose. I went with a 10′ long hose as the tank is right next to the sink. If we get another aquarium and put it in the other room, it will be simple for me to get a 50′ hose.

Lastly, I screw the male end of the hose onto the PVC fitting of the tank device.

Then you just pull the bottom of the ‘pump’ down and turn so it is in siphon mode, and turn the water on.

Python water changer in siphon mode

The ‘pump’ uses the flow of water past that ‘tee’ to create a suction and move water from the tank.  The tank can be below or above the faucet level.


Turn off the water when you have removed enough, switch the ‘pump’ to fill mode by twisting and lifting the valve up.  Then water will flow back into the tank. When you’re done, just disconnect everything and put the aerator back on the faucet.



Here is the over the side fitting:

water change fitting made of pvc pipe


Assessing the DIY Python Water Changer:

I’m very happy with how this little Do-It-Yourself project turned out. It was fun getting all the pieces together and making the PVC bits work in the best manner for our tank.

The cost savings can be eaten into based on how much you spend on PVC fittings and whatnot.  The biggest advantage will be for people who are looking at the longer hose size kits.  I used a 10′ hose but here is the cost comparison for a 50′ build: Faucet Adaptor = $6, Python Water Pump = $8, 50′ Camco 1/2″ Hose = $20, PVC parts = $12.  That puts the total for a 50′ DIY water changer at $46.  This is compared to the price of the official Python 50′ kit kit which is currently $63.  So the savings is a modest $17.  When it is all said and done, I still like my kit better than the full Python because I have multiple attachments to use in the aquarium and I can easily (and with minimal expense) change out the hose for the size that best for whatever setup I have.

This project isn’t for everyone, but if you like to tinker and want to make a water change system that is just right for you, then go for it.

17 thoughts on “How to Make Your Own (Python) Aquarium Water Changer

  1. Loved your info on aquarium siphoning. I have a Python clean and fill kit. The green pump is not the strongest plastic and I have had to replace it due to cracking etc.

    Do you know of any the green Python pumps that are made out of brass. It would be great if I could find one that is made of metal so it would be must stronger

    Thanks for suggestions in this article, and truly appreciate if you could suggest of a metal pump


    1. Every drain/fill kit I have seen (for fish use or for waterbed use) is made of plastic. I don’t know of a metal replacement.

  2. We live in California, so can’t/won’t waste all that water in siphoning out the tank. We found that if we set it to “fill” just long enough to fill the hose, then we can turn the faucet off and let the tank siphon naturally. Of course, our tank is higher than our sink, which is why this works.

    1. That’s what I do as well lots of the time. Good observation and tip.

  3. You mention 1/2″ pvc is good enough for your little aquarium (and probably larger ones). Would a larger pipe diameter make a difference to the gph or is it kind of capped out by the water pressure coming from your sink?

    I ask because I will be putting one together to do weekly 80-90% water changes on a 60 gallon pond, and while I ultimately wouldn’t mind retaining my fishies for a few hours while monitoring the fill, a higher fill rate would obviously be better.

    tl;dr would 3/4-1″ pvc increase full rate or nah?

    Thanks for the diy! Here in Canada the cost savings against the full Python kit is much more than $17. Especially when going from my kitchen sink to my balcony

    1. For a larger volume, I think it would be worth making the PVC accessories out of 3/4″ (1″ is overkill). Make sure to use the larger 5/8″ hose (instead of a 1/2″) as the hose will probably have a larger effect on flow.

  4. I’m actually building a DIY changer that’s going to end up costing more than a 100′ Python kit, but, with just a shred of luck, my DIY model should last me forever. Currently, the hose is 75″ long. It will easily reach from the kitchen to the bedroom where most of the tanks are. It’s going to be hefty to drain and hang up but, it’ll be good exercise, I suppose.

    I’ve gone with more expensive components for my changer, because so far, I’ve destroyed three faucet pumps ( Aqueon’s model ), just from using them. The plastic always cracks and breaks, either vertically in the female end or at the neck of the male end and I’m getting fed up, both with the annoyance and the sheer waste of non recycable plastic pieces I have to throw away. T

    I’ve also broken one gravel tube, the threaded male end snapped right off the tube and the plastic compression nut started to disintegrate so the hose kept slipping off it. Mind, this is the only time the gravel tube broke, whereas 3 faucet pumps have bitten the dust in the same length of time.

    My DIY version will not have any compression fittings. They will be threaded fittings only, with teflon pipe tape on the threads.

    You now, I have to give credit where it is due, Aqueon has been simply terrific about replacing all the broken parts, as they do guarantee their water changer for life. The new parts are totally free, there is no shipping, but the waiting time and being unable to use the gadget while I wait is really a pain because I use it so often, what with 15 tanks.

    I got a big, stout, solid brass, lever handled shut off valve, with two female ends on it, for the tank end of my device. It didn’t really cost that much – not twice as much as the plastic versions, so I think it well worth it. The Aqueon gravel tube will screw into it very neatly. The lever handle is around 3″ long, and it locks in place with positive metal stops, so It’ll be easier to use than the small plastic lever on the Aqueon ever was and I can’t mistake which direction to turn it.

    I decided to use braided vinyl pressure rated hose, which was a bit more expensive than most other hose, because I have, so far, had three different lengths of regular and thick wall vinyl tubing burst with water pressure, just by shutting the valve off at the tank end with the tap still on. Even a potable water hose for an RV burst and you can’t see inside an opaque hose, in case of blockages, The braided hose is clear so a blockage can be seen.

    The downside is that the only size of pressure rated hose that I could find, that I could also get male/female end fittings for, happened to be 5/8″ ID and 7/8″ OD, which is wider than either Aqueon or Python’s hose. It’s because they only make male and female pipe fitting ends in a very few standard sizes, and 5/8″ is not one of them.

    Oddly, I found that the 3/4″ size barb just fitted inside the 5/8″ braided hose, which was handy. I have the band clamps snugged down as tightly as possible and it’ll be interesting to see if I get any leakage at the ends or not. I had to use a small hammer to push those 3/4″ barbs into the hose so, should be snug enough.

    For now, I am still using my latest replacement Aqueon faucet pump, but I’m working on fabricating a faucet pump from metal parts that I hope will last much longer.

    So far, I’m hoping that I can use a brass, threaded, 3/4″ T fitting, all female ends, which I plan to attach to the male end of a brass shut off valve ( exactly the same as what you would use for a garden hose).

    One end of the T fitting will attach to an adapter, and that goes to the faucet. The other end will have the shut off valve on it and the ‘T’ in the middle has the pressure rated filler hose attached. I won’t know if it will work until I try it but, I am hopeful.

    I may have to add a some extra length to the bottom to make the siphon function but, frankly, as it is, I can’t always get the Aqueon to siphon, given the lousy water pressure here, so, not really a deal breaker if it won’t siphon very well. I should be able to drain the upper tanks with it anyway, just drop the tap end to floor level and let it run naturally.

    Since half my tanks are just off the ground level, there is no water changer that will empty them, so I already use a fairly powerful pump and long hose to pump them out. I can be pumping out one while I am filling another, which is useful.

    For me, just having a way to avoid lugging buckets to fill 15 tanks and a hose that is strong enough to shut off for as long as I need to without returning to the tap end every time, is worth the extra costs of this project to me.

    1. Interesting stuff! I have now abandoned this water changer in favor of a pump / hose I built and two five gallon buckets (clean water and dirty water). I hope to write about this soon. I can see why you need a hybrid of pump and python since you have so many tanks.

  5. Thank you! I have been looking at the Python, and at the Aqueon Aquarium Water Changer for a couple weeks. Based on their reviews, both have pros and cons, but I just did not like the price on

    Now that you explained exactly how to do it, I’m going to make a MUCH sturdier kit myself. And I’ll probably save even more, because Home Depot doesn’t raise their prices just because this is Canada.

Leave a Reply

Your email address will not be published. Required fields are marked *